Ассоциативные массивы PHP
Ассоциативный массив — это массив, в котором каждому элементу присваивается имя (ключ), и это имя используется для доступа к соответствующему элементу массива.
Создание ассоциативного массива
Как и с числовыми массивами для создания ассоциативного массива используется функция array()
с необязательными аргументами для предварительной инициализации элементов массива. В случае ассоциативных массивов аргументы имеют форму ключ => значение
, где ключ — это имя, по которому будет ссылаться элемент, а значение — это значение, которое будет сохранено в этой позиции в массиве.
Предположим, мы создаем массив для хранения информации о клиентах банка. Мы можем присвоить имя ключа каждому элементу в массиве следующим образом:
Этот же массив можно создать вторым способом:
$bankCard['clientAddress'] = 'Улица 1';
$bankCard['clientNumber'] = '123456789';
Доступ к элементам ассоциативного массива
Теперь, когда мы создали ассоциативный массив и присвоили имена каждому элементу, мы можем использовать эти имена для доступа к соответствующим значениям массива. В следующем примере извлечём имя клиента из массива:
Пример
Попробуй сам »<?php
$bankCard = array('clientName' => 'Иван Иванов', 'clientAddress' => 'Улица 1', 'clientNumber' => '123456789'); {
echo $bankCard['clientName'];
}
?>
Результат выполнения кода:
Доступ к значению элемента в ассоциативных массивах осуществляется только через строковые ключи, по индексу значение получить нельзя:
$bankCard = ['clientName' => 'Иван Иванов', 'clientAddress' => 'Улица 1', 'clientNumber' => '123456789'];
echo $bankCard['clientName']; // Иван Иванов
echo $bankCard[0]; // ERROR, так как элемента с индексом 0 в массиве нет
?>
Обход по ассоциативному массиву
Для ассоциативных массивов цикл foreach
позволяет выполнять итерацию по ключам и значениям, используя следующий синтаксис:
Например:
Пример
Попробуй сам »<?php
$bankCard = array('clientName' => 'Иван Иванов', 'clientAddress' => 'Улица 1', 'clientNumber' => '123456789');
foreach ($bankCard as $key=>$value) {
echo "Ключ = $key <br>";
echo "Значение = $value <br>";
}
?>
Результат выполнения кода:
Значение = Иван Иванов
Ключ = clientAddress
Значение = Улица 1
Ключ = clientNumber
Значение = 123456789
PHP Экзаменатор
Желаете больше задачек? Они у нас есть) Реши задачку по массивам.