У меня есть 2 функции в классе, одна рекурсивная функция.
public static function _itemsByParent($categories, $parentId) {
$out = array();
foreach($categories as $category) {
if(empty($category['parent']) && $parentId == 0)
$out[] = $category;
elseif($category['parent'] == $parentId)
$out[] = $category;
}
return (empty($out) ? false : $out);
}
public static function loopOnLevels($input, $parent=0) {
$categories = self::_itemsByParent($input, $parent);
$out = null;
if($categories !== false) {
$i = 0;
$out = '<ul>';
foreach($categories as $category) {
$out .= '<li>'.$category['name_hu'];
$childs = self::loopOnLevels($input, $category['category_id']);
if($childs !== false) {
$out .= $childs;
}
$out .= '</li>';
$i++;
}
$out .= '</ul>';
}
return (empty($out) ? false : $out);
}
Я передаю простой массив и родительский является нулевым при запуске:
$o = self::loopOnLevels($categoriesTransformed, 0);
Мой массив выглядит так: http://screencloud.net/v/10sq
….
Почему я получаю 502 Bad Gateway.
Может быть, бесконечный цикл? Но почему?
Задача ещё не решена.
Других решений пока нет …