Запись на курсы по HTML, CSS, JavaScript, PHP, Python, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
5 of 110 menu
Вступайте в телеграмм-канал сайта code.mu: новинки, статьи, интервью, задачи, бесплатные курсы и тренинги. Жми для вступления:)

Ассоциативный массив PHP

Ассоциативные массивы в PHP - это те массивы, которые позволяют хранить пары вида ключ - значение. То есть с их помощью можно задавать свои ключи.

Синтаксис такой: ключ, затем идет стрелка =>, а потом значение.

Давайте для примера сделаем массив дней недели. С помощью ассоциативного массива можно сделать так, чтобы Monday имел ключ 1, а не ноль:

<?php $a = [1 => 'Monday', 2 => 'Tuesday', 3 => 'Wednesday', 4 => 'Thursday', 5 => 'Friday', 6 => 'Saturday', 7 => 'Sunday']; echo $a[1]; // выведет 'Monday' ?>

Ключи не обязательно должны быть числами, они могут быть и строками. Сделаем массив, в котором ключами будут имена работников, а элементами - их зарплаты:

<?php // Массив работников: $a = ['John' => 200, 'Mary' => 300, 'Nick' => 400]; ?>

Узнаем зарплату Mary:

<?php $a = ['John' => 200, 'Mary' => 300, 'Nick' => 400]; echo $a['Mary']; // выведет 300 ?>

Массивы, у которых явно указаны ключи, называются ассоциативными.

Хитрость с ключами

Когда мы делали ассоциативный массив дней недели, нам приходилось расставлять все ключи вручную.

На самом деле нет необходимости расставлять ключи всем элементам - достаточно только первому элементу поставить ключ 1.

Если у второго элемента не будет ключа, PHP поставит его автоматически, причем следующий по порядку.

А следующим номером будет как раз число 2, так как предыдущий элемент имел ключ 1 (неважно, что мы сами его поставили, а не PHP автоматически).

Давайте поправим наш массив:

<?php // Укажем ключи в явном виде: $a = [1 => 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']; echo $a[3]; // выведет 'Wednesday' ?>

Хитрость достаточно полезная, используйте ее.