Объектно-ориентированный язык сценариев php, страница 9

Существует возможность создать новый массив или добавить элемент к тому, который уже есть, с помощью идентификатора (имени) массива. Для этого достаточно указать имя массива и пару пустых квадратных скобок. Давайте создадим массив $students таким способом.

Пример 5.2 Создание новых элементов с помощью идентификатора

<?php

$students[] = "Ira";

$students[] = "Vadim";

$students[] = "Alex";

$students[] = "Ann";

print "$students[0]";

?>

Обратите внимание на то, что мы не указываем номер элемента в квадратных скобках. PHP автоматически вычисляет его, освобождая нас от необходимости помнить о том, какой следующий элемент свободен.

Результат работы программы из примера 5.2 будет полностью аналогичен результату работы программы из примера 5.1.

После того как массив создан, можно добавлять к нему новые элементы. В примере 5.3 мы создаем массив с помощью функции array() и добавляем к нему новые элементы.

Пример 5.3 Добавление новых элементов

<?php

$students = array("Ira","Vadim","Alex","Ann");

$students[] = "Max";

print "$students[4]";

?>

Во второй строчке программы мы добавили в массив новый элемент, имеющий индекс 4 и значение Max. После этого, обратившись к нему по индексу, мы вывели его на печать.

Ассоциативные массивы

К любому элементу массива можно обратиться по индексу. Раньше в качестве индексов мы использовали целые числа. Это довольно удобно, но имеется один существенный недостаток этого метода. Представьте себе массив, элементы которого хранят телефоны ваших друзей. Допустим, вы хотите посмотреть телефон Макса. Для этого вам надо вспомнить, под каким индексом хранится этот телефон у вас в массиве. Когда телефонов всего 5 – 6 это еще реально, но когда их 50. В этом случае нам очень сильно могут помочь ассоциативные массивы. Дело в том, что к каждому элементу такого массива можно обратиться по имени. Вы просто просите показать вам элемент массива под именем Макс и сразу получаете интересующий вас телефон. Удобно и просто.

Ассоциативный массив – это массив, к элементу которого можно обратиться по имени. Ассоциативный массив можно создать непосредственно или с помощью функции array().

Создание ассоциативного массива с помощью функции array()

Пример 5.4 Создание ассоциативного массива с помощью функции array()

<?php

$tel = array(

                         "Max Koshelev" => "580-46-82",

"Ann Reish" => "589-90-34",

"Pashsa Golikov" => "480-57-58"

   );

print $tel["Max Koshelev"];

?>

Для того чтобы создать ассоциативный массив с помощью функции array(), нужно задать как имя (Max Koshelev, Ann Reish, Pashsa Golikov), так и значение (580-46-82, 589-90-34, 480-57-58) для каждого элемента. В нашем примере мы создаем массив $tel из трех элементов. К любому элементу массива можно обратиться по имени. Имена элементов массива – это строки, которые необходимо брать в кавычки. Имя элемента может состоять из нескольких слов (как у нас, фамилия и имя). Результат работы программы – появление на экране браузера телефона Кошелева Максима - 580-46-82.

Непосредственное создание ассоциативного массива

Создать новый массив или добавить к существующему пару – имя/значение можно, просто присвоив значение элементу массива, указав этот элемент по имени.

Пример 5.5 Непосредственное задание ассоциативного массива

<?php

$tel["Max Koshelev"] = "580-46-82";

$tel["Ann Reish"] = "589-90-34";

$tel["Pashsa Golikov"] = "480-57-58";

print $tel["Max Koshelev"];

?>

В данном примере мы опять создаем массив $tel.

Работа с массивами

Получение размера массива

К любому элементу массива можно обратиться по его номеру. Однако механизм работы с массивами настолько гибок, что иногда вы можете не знать, сколько элементов содержится в массиве. В этом случае на помощь приходит функция count(). Эта функция сообщает нам количество элементов массива.