muzruno.com

PHP array_search: търсене на стойност в масив

Една от основните операции при работа с масиви е да се търси конкретна стойност. За тази цел се използва функцията PHP array_search (). Тя може да обработва еднозначни и асоциативни колекции, връщайки ключа на търсената стойност, ако се намира в масива.

синтаксис

Официалното описание на функцията array_search () в PHP изглежда така:

смесено array_search (смесена стойност, array $ collection [bool strict])

Параметри на вход:

  • $ collection - масива, в който ще се извършва търсенето;
  • стойност - желаната стойност от всеки тип;
  • стриктното е незадължително логическо знаме, което установява строг механизъм за сравнение по отношение на типовете.

Механизмът на работа

Функцията PHP array_search () алтернативно сравнява стойността с всички стойности в колекторния масив. По подразбиране сравнението се извършва без да се вземат предвид видовете операнди. Можете да промените тази настройка, като зададете строгия флаг на TRUE. Сравнението на струните е чувствително.

Ако се намери съвпадение, ключът, съответстващ на намерения елемент, се връща и функцията се прекратява. Следователно, тя не може да се използва за откриване на множествена поява на търсената стойност в масив.

Ако не бъдат открити съвпадения, функцията ще върне булева стойност FALSE.

За да проверим върнатия резултат, е необходимо чрез оператора на стриктното равенство (===). Това е важно, тъй като функцията може да върне стойност, която е преобразувана в FALSE, например 0 или празен низ.

Програмен език PHP

Примери за използване

Пример 1. Ако прехвърлите многоизмерния масив на функцията PHP array_search (), резултатът от операцията ще бъде ключът на елемента, който търсите.

 "summer", "season4" => "есен") - $ result1 = array_search (" логика "- $ result2 = array_search (" summer ", $ array) - $ result3 = array_search (" април ", $ array)


В този пример променливата $ result1 ще получи стойността "season1", $ result2 ще бъде "season3", а $ result3 ще получи Boolean стойност на FALSE, тъй като низът "april" не се появява в масива източник.

Пример 2. Функцията PHP array_search () може да обработва едномерен масив, преброявайки нейните ключове по реда на цифрови индекси.

Променливата $ резултат ще бъде присвоена на стойност 1, според индекса на елемента "hunter" в array $ array.

Пример 3. Възможна грешка при анализа на резултата.

<"=" "Джеферсън", 3 => "Мадисън", 4 => "Монро") - $ result = array_search ("Вашингтон" ", $ президенти) -if (! $ резултат) {echo" Г-н Вашингтон не беше първият президент на САЩ "-}?>

Така че, без да проверявате резултата със строго равенство, можете да получите неочаквано послание, че Джордж Вашингтон не е първият президент на Съединените щати.

Джордж Вашингтон е първият американски президент

Пример 4. Връща се само ключът на първото открито съвпадение.

<- $ result = array_search ("jingle", $ песен) "php $ song =" jingle "," bells "," jingle "," bells "," jingle "," all "," the " -echo $ резултат -?>

Въпреки че намерената стойност е намерена три пъти в масива, функцията връща само първия намерен резултат - 0. За да търсите няколко съвпадения, препоръчваме да използвате функцията PHP array_keys ().

Споделяне в социалните мрежи:

сроден