Есть дерево
List:
name
description
List
Все примеры я делал сам, в общем то это даже не пример а одна и та же функция над которой велся эксперимент
private function recursive($list)
{
foreach($list as $element){
if(is_array($element)){
$this->recursive($element);
}else{
dump($element);
}
}
}
Пример 1 (рабочий)
private function recursive($list)
{
if(isset($list['list'])){
foreach($list['list'] as $element){
$this->recursive($element);
}
}else{
dump($list['name']);
dump($list['description']);
}
}
Пример 2 нерабочий потому что раскрывает почему то 5 элементов дерева хотя на момент их всего 11 было.
Вопрос что с ним не так?
private function recursive($list)
{
foreach($list as $element){
dump($element);
if(isset($element['list'])){
$this->recursive($element['list']);
}
}
}
Пример 3
Забавно но этот пример выводит один раз только хотя дубляж как по мне первого варианта.Почему так?
private function recursive($list)
{
if(isset($list['list'])){
$this->recursive($list['list']);
}else{
dump($list['name']);
dump($list['description']);
}
}
Пример 4 (18+) кладет на лопатки сервер и выбивается все на свете