array_search ()

Функція array_search

Це ще одна функція для пошуку значення в масиві. На відміну від in_array в результаті роботи array_search повертає значення ключа, якщо елемент знайдено, і брехня - в іншому випадку. А ось синтаксис у цих функцій однаковий:

array_search ("шукане значення", "масив", 
["Обмеження на тип"]);

Порівняння рядків чутливе до регістру, а якщо вказаний опціональний аргумент, то рівняються ще й типи значень. До PHP 4.2.0, якщо шукане значення не було знайдено, ця функція повертала помилку або пусте значення NULL.

Приклад. Тепер, навпаки, нехай у нас є масив мов програмування, які ми знаємо. Причому ключем кожного елемента є номер, що вказує, яким за рахунком було вивчено цю мову.

Приклад 5. Застосування функції array_search ()

<? Php 
$ angs = array (""," Lisp "," Python "," Java ", 
"PHP", "Perl"); 
if (! array_search ("PHP", $langs)) 
echo "Треба б вивчити PHP <br>"; 
else { 
$ K = array_search ("PHP",$ langs); 
echo "PHP я вивчила $k-м"; 

?>

У результаті ми отримаємо рядок: 
PHP я вивчила 4-м

Очевидно, що ця функція більш функціональна, ніж in_array, оскільки ми не тільки отримуємо інформацію про те, що шуканий елемент у масиві є, але і дізнаємося, де саме в масиві він знаходиться. А що буде, якщо шуканих елементів у масиві декілька? У такому випадку функція array_search () поверне ключ першого зі знайдених елементів. Щоб отримати ключі всіх елементів, потрібно скористатися функцією array_keys ().