Вы находитесь на странице: 1из 2

Лекции курса PHP7 + MySQL с нуля

(краткое содержание)

ЛЕКЦИЯ 20. АССОЦИАТИВНЫЕ МАССИВЫ. ОСНОВЫ.

Ранее Вы уже встречались с массивами на уроках данного курса. Так что же


это за явление относительно использования их в PHP?
Условно, массив можно обозначить, как контейнер-переменную для хранения
сразу нескольких величин, к которым можно быстро и просто обращаться. Обычный
одномерный ассоциативный массив представляет собой переменную, хранящую в
себе структурированный набор элементов. Каждый элемент состоит из ключа
элемента (порой их еще называют индексом) и значения. При этом, в ключе
элемента могут быть как числовые значения, так и строковые, а в значении – даже
массивы.
Стоит отметить, что в PHP все массивы можно отнести именно к
ассоциативным. Так, если Вы посмотрите на другие языки программирования, то
увидите, что там встречаются обычные массивы или списки, в которых каждый
элемент располагается в соответствии с порядковым номером – ключи элементов
являются целыми числами, располагающимися по порядку, а также разнообразные
формы других массивов – стеки, очереди. Ассоциативные массивы выделяются в
отдельную категорию, которую еще называют хешем. В PHP же, фактически, все
массивы являются ассоциативными, т. к. в любой момент времени любой массив
можно разобрать на пары ключ => значение и поменять не только само значение,
но и ключ. Таким образом Вы в любой момент можете изменить целочисленные
ключи в строковые и наоборот. Кроме того, в PHP существуют функции, которые
могут принимать только ассоциативные массивы и, если в массиве не заданы
ключи, то функция преобразует автоматически созданные целочисленные ключи в
ключи ассоциативного массива и наоборот – при использовании ассоциативного
массива в функции, предназначенной только для списков, ассоциативные ключи
попросту игнорируются. Но об этом далее. Сейчас перейдем к основам – созданию
массивов.

Создание массива
Один из самых простых способов создать массив – использовать стандартные
возможности PHP:
Листинг 20.1. Варианты создания массивов.

//Вариант 1. Присвоение значений по ключам


//Создаем пустую переменную с пометкой, что переменная - массив
$array = [];
//Присваиваем массиву новые значения с ключами
$array['key1'] = 'value1';
$array['key2'] = 'value2';
$array['key3'] = 'value3';
//Теперь выведем массив на экран с помощью цикла foreach
echo "<p>Новый массив array:</p>";
foreach($array as $k => $v) {
echo "<p>Ключ: <i>$k</i> => Значение: <b>$v</b></p>";
}

//Вариант 2. Создание массива при помощи цикла for


$array2 = [];

1
Лекции курса PHP7 + MySQL с нуля
(краткое содержание)

//Создаем массив и сразу выводим его на экран


echo "<p>Новый массив array2:</p>";
for($i = 0; $i <= 5; $i++) {
$array2[$i] = ($i + 2) * $i;
echo "<p> Элемент массива array2 c ключом [$i] = $array2[$i]";
}

Создание массива «на лету».


Представленные варианты создания массивов учитывают необходимость
указания ключей массивов. Порой в этом нет необходимости и достаточно создать
массив с автоматической нумерацией – список. Так, это можно проделать
следующими способами:
Листинг 20.2. Создание массива «на лету»

//Вариант 1.
$array = [];
$array[] = 'First';
$array[] = 'Second';
$array[] = 'Third';
echo
"<p><b><i>Первый вариант создания массива \"на лету\":</i></b></p>
<p><b>Массив array:</b></p>";
foreach($array as $v)
echo "<p>Элемент массива: $v</p>";

//Вариант 2.
echo
"<p><b><i>Второй вариант создания массива \"на лету\":</i></b></p>
<p><b>Массив array1:</b></p>";
for($i = 0, $array1 = [], $a = "a"; $i <= 5; $i++, $a++) {
$array1[] = $a;
echo "<p>$i-й элемент массива - символ $array1[$i]</p>";
}

Такие способы называют «на лету», так как в данных случаях ключ каждого
элемента задается в программе без участия разработчика.