Рассмотрим следующий массив:
<?php
$arr = ['пн', 'вт', 'ср', 'чт', 'пт', 'сб', 'вс'];
?>
Чтобы обратиться к нужному элементу этого
массива, мы должны написать в квадратных
скобках ключ этого элемента. Как вы знаете,
в массивах PHP сам определяет ключи для элементов
- это их порядковые номера. Но иногда это
может оказаться неудобным: например, мы хотим
вывести на экран название первого дня недели,
а должны писать в квадратных скобках цифру
0
.
Логичнее и удобнее было бы все-таки для первого
дня недели писать ключ 1
, как привыкли
мы в жизни. Для этого используются ассоциативные
массивы. Они имеют следующий синтаксис: имя
ключа, затем идет стрелка =>
, а потом
значение. Давайте укажем явные ключи для
нашего массива дней:
<?php
$arr = [1 => 'пн', 2 => 'вт', 3 => 'ср', 4 => 'чт', 5 => 'пт', 6 => 'сб', 7 => 'вс'];
?>
После добавления наших ключей обратиться
к понедельнику можно уже по ключу 1
,
а не 0
. Сделаем это:
<?php
echo $arr[1]; // выведет 'пн'
?>
Создайте массив с ключами 1
, 2
и 3
и значениями 'a'
, 'b'
и 'c'
. Выведите на экран все его элементы.
Хитрость с ключами
Не очень удобно расставлять ключи всем элементам
для того, чтобы нумерация началась не с нуля,
а с единицы. К счастью, на самом деле достаточно
первому элементу поставить ключ 1
и дальше PHP сам автоматически расставит
ключи по порядку.
Давайте попробуем:
<?php
$arr = [1 => 'пн', 'вт', 'ср', 'чт', 'пт', 'сб', 'вс'];
echo $arr[1]; // выведет 'пн'
echo $arr[2]; // выведет 'вт'
echo $arr[3]; // выведет 'ср'
?>
Составьте массив с названиями месяцев. Пусть
в нем январь имеет ключ 1
.
Строковые ключи
Ключи не обязательно должны быть числами, они могут быть и строками. Сделаем, к примеру, массив, в котором ключами будут имена работников, а элементами - их зарплаты:
<?php
$arr = ['user1' => 200, 'user2' => 300, 'user3' => 400];
?>
Узнаем зарплату первого работника:
<?php
$arr = ['user1' => 200, 'user2' => 300, 'user3' => 400];
echo $arr['user1']; // выведет 200
?>
Создайте массив $user
с ключами 'name'
,
'surname'
, 'patronymic'
и какими-то
произвольными значениями. Выведите на экран
фамилию, имя и отчество через пробел.
Создайте массив $date
с ключами 'year'
,
'month'
и 'day'
и значениями,
соответствующими текущему дню. Выведите созданную
дату на экран в формате год-месяц-день.