Цикл foreach PHP

Wab IT

Цикл foreach PHP

Цикл foreach в PHP для вывода массива

Цикл foreach в php, работает только с массивами и объектами, для этого он и был написан.

Если перевести foreach то получим for-для,  each-каждый. Цикл для каждого элемента в массиве.

Создадим массив и за одно повторим прошлый урок. Первый наш массив был шкаф, давайте его и напишем.

$shkaf = [' майки ', ' свитера ' , ' джинсы ', ];

Существует два вида вывода в цикле массива.
Первый.
Пройтись по массиву и записать значение как переменную. Пройдясь циклом по массиву, все элементы записывает в переменную. Создает виртуальные переменные с данными из массива.

foreach ($shkaf as $element){ // из массива записываем данные в переменную элемент.
echo $element . '<br>';  // выводим переменную с данными и ставим тег перенос строки
};

Так мы вывели элементы массива шкаф. 

Второй способ это вывод индекса и элемента.

foreach ($shkaf as $key => $el) {
 
echo " $key $el ";
 
};  

и получили ( 0 майки 1 свитера 2 джинсы )

Помните как мы записывали нумерованные массивы задав ключи, так и здесь отобразился индекс и значения. 

Так можно вывести и ассоциативный массив, но как быть если если нам нужно вывести данные из многомерного массива. Создадим шкаф с двумерным массивом и пройдем по нему циклом foreach или перепишем наш шкаф в двумерный массив.

$shkaf = [
' майка ' => [' майка с рисунком ', 7,  ' футболки однотонные ', 5],
' свитер' => [ ' полувер ', 3, '  шерстяной ', 4,],
' джинсы ' => [' синие ', 4, '  черные ',  ],  
 
];

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

Вывести массив при помощи конструкции list()

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

foreach ($shkaf as $key =>  list($id0, $id1)) { // записали два индекса из списка 0 и 1
echo "$key $id0    <br> в количестве $id1 <br> "; // отобразили ключ, индекс 0, 1
 
  };

Если массив содержит недостаточно элементов для заполнения всех переменных из list(), то будет сгенерировано замечание об ошибке/

Вывести многомерный массив foreach 

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

foreach ($shkaf as $key => $el) {
echo " <p>  $key <br>"; // вывели ключ и отделили переносом строки
foreach ($el as $key2) { // записали из второго уровня массива данные как key2
echo "    $key2  "; // вывели данные 
 
}};

И получили индекс и данные из массива.

Вывести трехмерный массив foreach  

Как вывести наш трехмерный массив шкаф, из прошлого урока? Перепишем массив шкаф.

$shkaf = [
'mayka' => [
 
      1 => [' майка с рисунком ', 7,],
2 => [' футболки однотонные ', 5],
],
'sviter' => [
1 => [' полувер ', 3,],
2 => [' на пуговицах ', 3, ' на молнии ', 4,],
3 => [' толстовка с капюшоном ', 5,],
],
'jensi' => [' джинсы ', 6,],
 
]; 

И получим: 

mayka Array Array
sviter Array Array Array
jensi джинсы 6

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

foreach ($shkaf as $key => $el) {
echo "<p>  $key <br> $el ";   
 
   foreach ($el as $key2 => $el2) {
 
     echo "<br> $key2 , $el2";
 
  foreach ($el2 as $key3){
 
  echo $key3 . ' ';
 
  }}  };

На рисунке ниже мы видим какой ключ и индекс за что отвечает.

foreach

Домашнее задание

Переписать массив шкаф и вывести его циклом foreach.
Отобразить ключи, номер полки, вещи на полках и количество .

mayka
1. майка с рисунком, 7 ,
2. футболки однотонные, 5 ,

sviter
3. полувер, 3 ,
4. на пуговицах, 3, на молнии, 4 ,
5. толстовка с капюшоном, 5 ,

jensi
6. джинсы, 6 , 

Продолжить просмотр за:
100 Лит
17:50
34
Lit
RSS
Нет комментариев. Ваш будет первым!

Похожий контент

Массивы в PHP это набор упорядоченных данных. Создадим ассоциацию для массива, массив - ...