Как работают две функции foreach, если 1 foreach находится внутри другого

Я не могу понять логику того, как две функции foreach работают вместе, если одна из них находится внутри другой, например:

foreach ($projects as $project){
foreach ($users as $user){

}
}

когда первый foreach получает проект, тогда foreach всех пользователей проходит через всех пользователей до тех пор, пока он не имеет ни одного, а затем возвращается назад и повторяется? или когда он тоже находит первого пользователя?

Это может показаться довольно простым вопросом, но я не могу найти его где-то еще.

1

Решение

Вы можете попробовать это сами, это довольно просто. Просто напишите два фиктивных массива и переберите их с помощью двух циклов. Ниже приведен пример.

  1. Он найдет проект.
  2. Внутренний пользовательский цикл foreach будет выполняться для каждого найденного пользовательского объекта
  3. Найдет следующий проект
  4. Он снова запустит внутренний цикл foreach для проекта.

Что я хочу сказать с этим:

<?php

$array1 = array(
"element1" => "value1",
"element2" => "value2",
"element3" => "value3");

$array2 = array(
"element1.1" => "value1.1",
"element2.1" => "value2.1",
"element3.1" => "value3.1");

foreach($array1 as $arr1) {
print_r($arr1);
echo "<br>";

foreach($array2 as $arr2) {
print_r($arr2);
echo "<br>";
}
}

Выход:

value1
value1.1
value2.1
value3.1
value2
value1.1
value2.1
value3.1
value3
value1.1
value2.1
value3.1
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector