![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Функция array_keys() выбирает все ключи массива. Но у нее имеется дополнительный аргумент, с помощью которого можно получить список ключей элементов с конкретным значением. Синтаксис этой функции таков:
array_keys ("массив", ["значение для поиска"])Функция array_keys() возвращает как строковые, так и числовые ключи массива, организуя все значения в виде нового массива с числовыми индексами.
Пример 7.5. Мы записали массив языков, которые изучили. Список был длинным, и некоторые языки были записаны несколько раз. У нас возникло подозрение, что один из таких языков – Lisp. Давайте это проверим:
<?php$langs =array("Lisp","Python","Java","PHP", "Perl","Lisp");$lisp_keys = array_keys($langs,"Lisp");echo "Lisp входит в массив ". count($lisp_keys)." раза:<br>";foreach ($lisp_keys as $val){ echo "под номером $val <br>";}?>Пример 7.5. Применение функции array_keys()
В результате получим:
Lisp входит в массив 2 раза:под номером 0под номером 5Функция array_keys(), как и две предыдущие, зависит от регистра, т.е. элементов LISP в массиве она не обнаружит. array_keys() появилась только в PHP4. В PHP3 для реализации ее функциональности нужно придумывать свою функцию.
Если есть функция для получения всех ключей массива, то можно предположить, что существует и функция для получения всех значений массива. Действительно, она существует. Это функция array_values (массив). Все значения переданного ей массива записываются в новый массив, проиндексированный целыми числами, т.е. все ключи массива теряются, остаются только значения. Но вернемся к нашему примеру.
Итак, мы выяснили, что язык Lisp случайно упомянут в нашем массиве дважды. Поскольку изучить один язык дважды нельзя ("учил, но забыл" не считается), то нужно как-то избавиться от повторяющихся языков. Сделать это довольно просто с помощью функции array_unique().
Дата публикования: 2015-01-24; Прочитано: 176 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!