Determinarea poziției elementului în matrice

sarcină
Este necesar să se știe dacă elementul de matrice este prezent, și dacă da, în ce poziție a fost.

decizie
Utilizați funcția array_search (). Se întoarce elementul cheie al valorii detectate sau false:

$ Poziție = array_search ($ array, valoare $);
în cazul în care (poziția $! == false) // array element de $ matrice la poziția $ poziția are o valoare de valoare de $
>

discuție
Utilizați in_array () pentru a stabili existența unei anumite valori în matrice; Utilizați funcția array_search () pentru a determina locația acestei valori. Cu toate acestea, din moment ce array_search () se ocupă cu grație situația în care valoarea nu este găsit, atunci în loc de in_array () funcția funcție mai bună utilizare array_search (). Diferența de viteza unui minor, precum și informații suplimentare pot fi utile:

$ Favorite_foods = array (1 => 'anghinare', 'pâine', 'conopidă',
'ouă deviled');
$ Alimentară = 'conopidă';
$ = Poziția array_search ($ alimentare, favorite_foods $);
if (! $ position == false) echo "Mâncarea mea # $ poziția preferată este de $ alimentară";
> Altele>

Utilizați operatorul! == pentru comparație cu valoarea false, pentru că în cazul în care linia detectată este în poziția zero, dacă este declarația se convertește într-o valoare boolean fals, care este în mod clar nu ceea ce era de așteptat.

În cazul în care valoarea se găsește în matrice de mai multe ori, singurul lucru care garantează array_search funcția (), - este de a returna o singură valoare, dar nu neapărat prima în ordine.