Codebra
29 января 2026 в 19:51

Урок 9. Ассоциативные массивы в PHP

Ассоциативные массивы в PHP - подвид массивов для хранения упорядоченных типов данных. В которых, в отличие от обычных массивов, в качестве ключа применяются строки.
📝

Внимание! На этой странице вы найдете материал урока из архивного курса по PHP. Курс был написан в 2024 году одним из первых учеников Codebra и, к моменту написания курса, опытным бэкэнд-разработчиком. К сожалению, курс не был дописан, а его автор молча пропал.

Полный список уроков доступен по тегу Архивный курс по PHP и на странице первого урока.

В предыдущем уроке мы рассмотрели базовые возможности работы с массивами. В этом уроке углубим свои знания ассоциативными и вложенными массивами.

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

<?php
	$arr = [ // Объвление массива
		'name' => 'Alex', // name у нас будет ключ
		'age' => 23,
		'country' => 'Russia', // Делайте в конце массива висящую запятую.
	];

	print_r($arr['name']); // => Alex
?>

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

При создании ассоциативного массива или обычного массива может использоваться следующий синтаксис: вместо квадратных скобок используется конструкция array().

<?php
	$arr = array( 
		'name' => 'Alex',
		'age' => 23,
		'country' => 'Russia',
	);

	print_r($arr['name']); // => Alex
?>
💡 Примечание

Хоть разработчики и предлагают использовать оба варианта, принято использовать квадратные скобки. В более старых программах на PHP используется конструкция array().

Многомерные массивы

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

Имя Возраст Страна
Ольга 25 Россия
Alex 23 USA
Peter 44 Canada

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

Индексные номера для индексированного массива автоматически присваиваются интерпретатором PHP. Запятая в конце каждого ассоциативного массива указывает на конец значения для этого элемента.

<?php
	$members = [
		['name' => 'Ольга', 'age' => 25, 'country' => 'Россия',],
		['name' => 'Alex', 'age' => 23, 'country' => 'USA',],
		['name' => 'Peter', 'age' => 44, 'country' => 'Canada',],
	];
?>

Теперь достанем пользователя из второй строки таблицы и распечатаем его имя:

<?php
	$members = [
		['name' => 'Ольга', 'age' => 25, 'country' => 'Россия',],
		['name' => 'Alex', 'age' => 23, 'country' => 'USA',],
		['name' => 'Peter', 'age' => 44, 'country' => 'Canada',],
	];

	print_r($members[1]['name']); // => Alex
?>

Каждый элемент массива $members содержит в себе ассоциативный массив, который, в свою очередь, содержит имя, возраст и страну проживания.

К индексному элементу массива мы обращаемся по его индексу array[1]. Достаём второй элемент который ассоциативный массив и потом обращаемся к именованному ключу.

Заключение

Вложенность массивов может быть очень большой. Нам важно правильно с ними работать и понимать их. Обращаться к элементам в таком виде $array[0] очень долго и не рационально. В следующем уроке мы оптимизируем работу с массивами с помощью циклов.

Задачи

  1. Создание массива из трёх элементов с ключами и значениями, где ключи являются строками, а значения – числами.
  2. Добавьте в предыдущий массив новый элемент: ключ=key12, значение=30.
  3. Удалите второй элемент из массива.
  4. Измените второй элемент из массива.
📝

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