web-dev-qa-db-fra.com

index php de l'article

J'ai un tableau qui ressemble à ceci:

$fruit = array('Apple','orange','grape');

Comment puis-je trouver l'index d'un élément spécifique, dans le tableau ci-dessus? (Par exemple, la valeur "orange")

39
mcgrailm

Essayez la fonction array_search .

Du premier exemple dans le manuel:

<?php
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');

$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array);   // $key = 1;
?>

Un mot d'avertissement

Lorsque vous comparez le résultat, assurez-vous de tester explicitement la valeur false à l'aide de === opérateur.

Étant donné que les tableaux dans PHP sont basés sur 0, si l'élément que vous recherchez est le premier élément du tableau, une valeur de 0 sera retournée.

Bien que 0 soit un résultat valide, il s'agit également d'une valeur fausse, ce qui signifie que les éléments suivants échoueront:

<?php
    $array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');   

    $key = array_search('blue',$array);

    if($key == false) {
        throw new Exception('Element not found');
    }
?>

C'est parce que le == L'opérateur vérifie égalité (en jonglant avec le type), tandis que === l'opérateur vérifie identité.

gardez à l'esprit que si vous pensez que votre élément de recherche peut être trouvé plusieurs fois, vous devez utiliser array_keys () car il renverra des clés pour toutes les valeurs correspondantes, pas seulement la première clé correspondante comme - array_search () .

Cordialement.

4
Mihail Dimitrov

Vous devez utiliser array_search.

Regardez ici http://www.php.net/manual/en/function.array-search.php

0