PHP array_search: поиск значения в массиве
Одна из основных операций при работе с массивами - поиск конкретного значения. Для этого предназначена функция PHP array_search(). Она способна обрабатывать как одномерные, так и ассоциативные коллекции, возвращая ключ искомого значения, если оно обнаружено в массиве.
Синтаксис
Формализованное описание функции array_search() в PHP выглядит следующим образом:
mixed array_search (mixed value, array $collection [, bool strict])
Входные параметры:
- $collection - массив, в котором будет произведен поиск;
- value - искомое значение любого типа;
- strict - необязательный логический флаг, устанавливающий строгий механизм сравнения с учетом типов.
Механизм работы
Функция PHP array_search() поочередно сравнивает value со всеми значениями в массиве collection. По умолчанию, сравнение осуществляется без учета типов операндов. Эту настройку можно изменить, установив для флага strict значение TRUE. Сравнение строк осуществляется с учетом регистра.
При обнаружении совпадения возвращается ключ, соответствующий найденному элементу, и работа функции прекращается. Следовательно, с ее помощью нельзя обнаружить множественное вхождение искомого значения в массив.
Если совпадений не найдено, функция вернет булево значение FALSE.
Проверять возвращенный результат следует с помощью оператора строгого равенства (===). Это важно, так как функция может вернуть значение, которое приводится к FALSE, например, 0 или пустую строку.
Примеры использования
Пример 1. При передаче в функцию PHP array_search() многомерного массива, результатом работы будет ключ искомого элемента.
"winter","season2" => "spring","season3" => "summer","season4" => "autumn")-$result1 = array_search("winter", $array)-$result2 = array_search("summer", $array)-$result3 = array_search("april", $array)-?>
В этом примере переменная $result1 получит значение "season1", $result2 будет равна "season3", а $result3 будет присвоено булево значение FALSE, так как строка "april" не встречается в исходном массиве.
Пример 2. Функция PHP array_search() может обрабатывать и одномерный массив, считая его ключи следующими по порядку числовыми индексами.
Переменной $result будет присвоено значение 1, согласно индексу элемента "охотник" в массиве $array.
Пример 3. Возможная ошибка при анализе результата.
"Washington",1 => "Adams",2 => "Jefferson",3 => "Madison",4 => "Monroe")-$result = array_search("Washington", $presidents)-if (!$result) {echo "G. Washington was not the first president of the USA"-}?>
Вот так, не проверяя полученный результат строгим равенством, можно получить неожиданное сообщение о том, что Джордж Вашингтон не был первым президентом Соединенных Штатов.
Пример 4. Возвращается только ключ первого обнаруженного совпадения.
Несмотря на то, что искомое значение встречается в массиве трижды, функция вернет только первый найденный результат - 0. Для поиска множественных совпадений рекомендуется использовать функцию PHP array_keys().
- IRR - что это такое и как рассчитать в Excel?
- Типы переменных в Паскале: описание, свойства, примеры
- Расчет кирпичной кладки: основные моменты
- Что такое терморегулятор для инкубатора
- WPS - что такое и как настроить? Как настроить WPS на роутере?
- Как изменить скин в `Майнкрафте` в лицензионой и пиратской версиях
- Все значения прилагательного `хмурый`. Хмурый день, взгляд, человек...
- Что означает выражение `не оглядываясь`
- Разрыв строки в HTML: используем тег br
- Сравнение танков в World of Tanks - какой танк лучше выбрать?
- Что искать в Интернете? Как правильно искать информацию в Интернете
- Полуторный интервал: это сколько и как он расчитывается
- Массивы - это... Краткое введение в тематику
- Утилита SpeedFan: как пользоваться, описание. Программное обеспечение
- Windows 10. `Центр обновлений`: где находится служба?
- PHP: последний элемент. Массив в динамике
- Учитывать - это что за слово?
- Как изменить время на компьютере с Windows 7: два простых способа
- Кодирование звуковой информации
- Учет затрат на производство как одна из важнейших функций бухгалтерского учета
- Как определить размер одежды: юбки, брюки, джинсы становятся ближе