Определяне на положението на елемента в масива

задача
Необходимо е да се знае дали елементът на масив е налице, и ако да, в каква позиция е той.

решение
Използвайте array_search (функция). Тя връща ключов елемент от измерения стойност или невярно:

$ Позиция = array_search ($ масив, $ стойност);
ако ($ позиция! == невярно) // елемент от масива $ масив в позиция $ позиция е на стойност $ стойност
>

дискусия
Използвайте in_array () функция, за да се установи наличието на определена стойност в масива; Използвайте array_search (функция), за да се определи местоположението на тази стойност. Въпреки това, тъй като array_search () грациозно дръжки ситуация, в която не се намира на стойността, а след това вместо in_array () функционира по-добро използване array_search (функция). Разликата в скоростта на непълнолетно лице, както и допълнителна информация може да бъде полезна:

$ Favorite_foods = масив (1 => 'артишок "," хляб "," карфиол "
"пикантни яйца");
$ Храните = 'карфиол ";
$ Позиция = array_search ($ храни, $ favorite_foods);
ако (! $ позиция == невярно) ехо "Моята # $ позиция любима храна е $ храна";
> Иначе>

Използвайте оператора! == за сравнение с фалшива стойност, защото ако открита линия е на нула, в декларация, ако тя се превръща в Булева стойност невярно, което очевидно не е това, което се очакваше.

Ако не се намери стойността на няколко пъти масив, единственото нещо, което гарантира функция array_search (), - е да се върнете една стойност, но не задължително на първо място в ред.