C теорией покончено, и можно переходить к практике. Все, что вы недопоняли в прошлых постах, в этих постах на примерах вы поймете. В этой заметке мы рассмотрим примеры использования массивов в PHP: создание массивов, добавление элементов, доступ к элементам массива, удаление элементов.
Создание массива в PHP
В отличие от языков со строгой типизацией, где переменную с массивом сначала нужно объявить, указать тип элементов в массиве, в PHP создать массив в 10 раз быстрее.
Для примера возьмем оба типа массивов: $massiv -с неявным присвоением ключей, $man — с явным присвоением ключей:
<?php // Создаем пустой массив $massiv = array(); // Создаем массив с элементами $man = array('name' => 'Alex', 'age' => 20); // Вывод на экран содержимого массивов print_r($massiv); print_r($man); ?>
Здесь мы используем функцию print_r(). В качестве параметра ей передается массив. Она выводит элементы массива на экран и показывает вложенность.
Добавление элемента к существующему массиву
Давайте добавим в наши 2 созданных массива еще по 1 элементу:
<?php // Создаем пустой массив $massiv = array(); // Создаем массив с элементами $man = array('name' => 'Alex', 'age' => 20); // Добавляем элемент к 1-му массиву $massiv[] = '1-ый элемент массива'; // Добавляем элемент ко 2-му массиву $man['car'] = 'bmw'; // Вывод на экран содержимого массивов print_r($massiv); print_r($man); ?>
Теперь первый массив ($massiv) имеет 1 элемент, а 2-ой массив ($man) имеет 3 элемента.
Задание: добавить еще по несколько элементов в каждый массив, вывести на экран массивы с помощью print_f() и посмотреть на результат.
Доступ к элементу массива в PHP
Доступ к элементу массива в PHP осуществляет по ключу. Не забываем, что, если у элемента массива не указан ключ, то в качестве ключа берется максимальный числовой индекс и новый ключ будет равен этому максимуму увеличенному на 1.
<?php // Создаем массив $massiv = array(4, 'второй элемент'); // Создаем массив с элементами $man = array('name' => 'Alex', 'age' = > 20); // Обращение к элементу массива по числовому ключу echo "Первый элемент массива: " . $massiv[0]; // Обращение к элементу массива строковому ключу echo "Сколько чуваку лет: " . $man['age']; ?>
Для вложенных массивов доступ к элементу работает аналогично:
<?php // 2-х мерный массив // sex - пол, age - возраст, height - рост. $peoples = array( 1 => array('sex' => 'male', 'age' => 19), 2 => array('sex' => 'female', 'age' => 18, 'height' => 170)); // Доступ к элементу вложенного массива echo "Информация о первом человеке: <br />"; echo "Пол: " . $peoples[1]['sex'] . "<br />"; echo "Возраст: " . $peoples[1]['age'] . "<br />"; ?>
В этом примере мы получаем доступ к элементам вложенного массива. »
» — это html тэг для начала новой строки.
Задание: добавить первому человеку информацию о росте (height) и написать код вывода информации о втором человеке. Очень важно именно написать, а не скопировать код. Чем больше вы будет писать (не копировать) код руками, тем быстрее выучите функции и привыкните к синтаксису PHP.
Удаление элемента в массиве
Настало время познакомится с новой функцией — unset. Эта функция PHP используется для удаления переменных (или элемента в массиве) и освобождает занимаемую данными память.
Синтаксис:
<?php // Удаление переменной unset(переменная); // Удаление элемента массива unset(массив[индекс]); ?>
Рассмотрим на нашем примере:
<?php // 2-х мерный массив // sex - пол, age - возраст, height - рост. $peoples = array( 1 => array('sex' => 'male', 'age' => 19), 2 => array('sex' => 'female', 'age' => 18, 'height' => 170)); // Посмотрим, что хранится у нас во втором элементе массива // Девушка... 18 лет.. Ростом 170 см.. print_r($peoples[2]); // Удаление информации о росте девушки unset($peoples[2]['height']); // ... а теперь... print_r($peoples[2]); ?>
Продолжение следует….