Операции с массивами

Массивы

Лекция 7. Работа с массивами данных

Язык PHP предоставляет множество функций для работы с массивами данных. Как правило, эти функции решают наиболее часто встречающиеся задачи, связанные с обработкой массивов. В этой лекции мы рассмотрим некоторые из таких функций и с их помощью решим несколько прикладных задач. В частности, будут рассмотрены функции для поиска элементов в массиве, для сортировки элементов массива, применение созданных пользователем функций ко всем элементам массива и разбивка массива на подмассивы.

В одной из первых лекций мы рассказывали о том, как можно создать массив данных. Напомним, что массив можно создать двумя способами:

1. С помощью конструкции array

2. $array_name = array("key1"=>"value1",3. "key2"=>"value2");

4. Непосредственно задавая значения элементам массива

5. $array_name["key1"] = value1;

Например, нам нужно хранить список документов, которые будут удалены из базы данных. Естественно хранить его в виде массива, ключом в котором будет идентификатор документа (его уникальный номер), а значением – название документа. Этот массив можно создать таким образом:

<?$del_items = array("10"=>"Наука и жизнь", "12"=>"Информатика");$del_items["13"] = "Программирование на Php"; // добавляем элемент в массив?>

Массив – это тип данных, с данными этого типа должны быть определены операции. Какие же операции можно производить с массивами? Массивы можно складывать и сравнивать.

Складывают массивы с помощью стандартного оператора «+». Вообще говоря, эту операцию по отношению к массивам точнее назвать объединением. Если у нас есть два массива, $a и $b, то результатом их сложения (объединения) будет массив $c, состоящий из элементов $a, к которым справа дописаны элементы массива $b. Причем, если встречаются совпадающие ключи, то в результирующий массив включается элемент из первого массива, т.е. из $a. Таким образом, если складываются массивы в языке PHP, от перемены мест слагаемых сумма меняется.

<?$a = array("и"=>"Информатика", "м"=>"Математика");$b = array("и"=>"История","м"=>"Биология", "ф"=>"Физика");$c = $a + $b;$d = $b +$a;print_r($c); /* получим: Array([и]=>Информатика [м]=>Математика [ф]=>Физика) */print_r($d); /* получим: Array([и]=>История [м]=>Биология [ф]=>Физика) */?>

Пример 7.1. Сложение массивов (html, txt)

Сравнивать массивы можно, проверяя их равенство или неравенство либо эквивалентность или неэквивалентность. Равенство массивов – это когда совпадают все пары ключ/значение элементов массивов. Эквивалентность – когда кроме равенства значений и ключей элементов требуется еще, чтобы элементы в обоих массивах были записаны в одном и том же порядке. Равенство значений в PHP обозначается символом «==», а эквивалентность – символом «===».

<?$a = array("и"=>"Информатика", "м"=>"Математика");$b = array("м"=>"Математика", "и"=>"Информатика");if ($a == $b) echo "Массивы равны и"; else echo "Массивы НЕ равны и ";if ($a === $b) echo " эквивалентны"; else echo " НЕ эквивалентны";// получим echo "Массивы равны и НЕ эквивалентны"?>

Далее рассмотрим еще одну важную операцию с массивом – подсчет количества его элементов. Для ее реализации в PHP есть специальная функция.