Ассоциативный и многомерный массивы - php-base.ru

php-base.ru
Перейти к контенту

Ассоциативный и многомерный массивы

6. Ассоциативный и многомерный массивы.

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

это массив, у которого каждый элемент состоит из пары значений ключ-значение. Следует учесть, что ключем в ассоциативном массиве не обязательно должны быть числовые значения.
Рассмотрим это на примере. Для этого создадим два массива, в одном из них укажем вместо числовых значений ключей любые другие и для наглядности выведем в браузер эти два массива.
<?php
$arr1=[1,2,3,4,5];
$arr2=['первый'=>1,'второй'=>2,'третий'=>3,'четвертый'=>4,'пятый'=>5];
print_r ($arr1);
echo '<br>';
print_r ($arr2);
?>
рис.1

рис.2

Как видно на рис.2, в первом массиве $arr1 ключи [.....] представлены в числовом виде. В ассоциативном массиве $arr2 ключи [.....] представлены в буквенном виде.

Следует обратить внимание, что ключи в ассоциативном массиве $arr2 заключены в одинарные кавычки-апострофы и по своей сути являются строками (о строках мы с вами поговорим в следующих занятиях).

Рекомендую сразу запомнить конструкцию echo '<br>', при помощи которой производится перенос информации на следующую строку при просмотре на экране монитора, иначе, при значительном объеме выводимой информации, очень легко запутаться в ней. Этой конструкцией в будущем вы будете пользоваться очень часто.

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

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

Например, у нас есть объект-массив "Банк". В этом массиве имеются три хранилища, которые представляют собой тоже массивы. А в этих хранилищах имеются секции, которые в свою очередь также будут массивами. И наконец, в каждой секции имеются ячейки, которые предназначены для хранения чего-либо и по своей сути также будут массивами. То есть мы с вами визуально увидели и представили себе классический многомерный массив.
Напишем соответствующий код, только сделаем это в упрощенном варианте и двумя способами создания массивов. Массив будет сделан для схемы один банк(массив $arr_bnk1)=>одно хранилище(массив $arr_h1)=>три ячейки (массив $arr_ya1) =>(массив ячейки $arr....):
<?php
echo 'Первый способ';
echo '<br>';
$arr_bnk1=array('$arr_h1'=>array(
'$arr_ya1'=>array(
'$arr1'=>array('книжка','авторучка','сигареты'),
'$arr2'=>array('деньги','фонарик','ключ'),
'$arr3'=>array('кнопки','линейка','карандаш'),
),
),
);
print_r($arr_bnk1);
echo '<br>';
echo 'Второй способ';
echo '<br>';
$arr_bnk2=['$arr_h1'=>['$arr_ya1'=>['$arr1'=>['книжка','авторучка',
'сигареты'],'$arr2'=>['деньги','фонарик','ключ'],'$arr3'=>
['кнопки','линейка','карандаш']]]];
print_r($arr_bnk2);
?>
Визуально это будет так:

Перед решением задач еще раз прочитайте мои рекомендации. Не повторяйте моих ошибок!
1. Сделать одномерный массив с нечетными числами от 1 до 10. Вывести массив на экран монитора.
2. Сделать одномерный массив автобазы двумя способами. Массив состоит из элементов - автобусов марок ЛАЗ, ЛиАЗ и ПАЗ. Вывести массив, сделанный каждым из способов на экран используя тэг переноса информации на новую строку.
3. Есть автобаза, в которой расположены две секции-стоянки для грузовой и пассажирской техники. В пассажирской секции находятся автобусы ЛАЗ, ЛиАЗ, ПАЗ, а в грузовой автомобили ГАЗ, КАМАЗ, ЗИЛ. Сделайте двумерный массив исходя из условий. Выведите на экран монитора следующие надписи и соответствующие им массивы "Автобаза", "Секция пассажирского транспорта", "Секция грузового транспорта". Используйте конструкцию переноса строк для облегчения визуального восприятия информации.
4. Создать массив автобазы, в которой расположены секции-стоянки пассажирского транспорта, грузового транспорта и секции обслуживания автомобилей. На секции-стоянке пассажирского транспорта размещены два автобуса марки ЛАЗ, три автобуса марки ЛиАЗ и пять автобусов марки ПАЗ. На  стоянке грузового транспорта стоят четыре самосвала КАМАЗ 5511, три грузовых тентованных КАМАЗ 5490 и один грузовой КАМАЗ 5321. В секции технического обслуживания автомобилей имеются три подъемника. Выведите на экран массив "Автобаза" с подмассивами. Каждый подмассив вывести на экран отдельно. Сначала массив "Автобаза", а затем остальные.
к предыдущей странице
наверх
к следующей странице

Copyright © php-base.ru 2019

Яндекс.Метрика
К странице комментариев
Назад к содержимому