0 знаков
10. Ассоциативные массивы в 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
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ