в массив вначале пишется родитель, тогда все ок. Но если дочерний элемент обрабатывается первым, тогда родитель в последствии перезаписывает элемент массива. Как правильно это сделать? Можно конечно прогнать 2 раза foreach, но эт уже явный костыль)
foreach($resource as $key => $value){
if($value['parent' == 0){
$menu[$value['id']] = $value;
} else {
$menu[$value['parent']]['children'][] = $value;
}
}
проверка на сушествование или как написал Андрей уже, isset
самопис или в CMS не учли какой то?
Если подрузомевается что значение массива пустое, то используй empty. Если его еще не существует проверяй isset. $value[parent] стоит выделить в переменную
Обсуждают сегодня