Как бы я разобрать массив объектов в главное / подменю в PHP?

Я создаю динамическую систему меню, однако я столкнулся с небольшим затруднением. У меня есть метод ввода, который позволяет создавать пункты главного меню и подменю, а затем, когда PHP получает массив, я строю набор объектов из этого.

Однако, чтобы правильно заполнить меню, мне нужно взять список объектов и создать список, который упорядочен правильно, с основными и дочерними объектами. Каждый объект имеет parentID, которому он принадлежит, и ID. Если он принадлежит нулю, это верхний уровень.

$CountFields = count($_POST["URLLabel"]);

$MenuObjectArray = [];

for ($i = 0; $i < $CountFields; $i++)
{
$obj = new stdClass();
$obj->URL_ID = $_POST["URL_ID"][$i];
$obj->URLLabel = $_POST["URLLabel"][$i];
$obj->URLLink = $_POST["URLLink"][$i];
$obj->URLParent = $_POST["URLParent"][$i];
array_push($MenuObjectArray, $obj);
}

Каков наилучший способ вывода этого объекта массива в список ul / li, который принимает во внимание подменю основных уровней?

0

Решение

используйте foreach для итерации массива объектов.

foreach($MenuObjectArray as $obj)
{
echo '<li>'.$obj->URL_ID.'</li>'
}
0

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

Попробуйте использовать цикл foreach:

<?php
foreach($MenuObjectArray as $obj) {
?>
<ul>
<li><?php echo $obj->URL_ID?></li>
<li><?php echo $obj->URLLabel ?></li>
<li><?php echo $obj->URLLink ?></li>
<li><?php echo $obj->URLParent ?></li>
</ul>
<?php
}
?>
0

Я решил перестать быть модным и создать временную базу данных SQL вместе с обычным полем ввода в единственном меню, а не с целой динамической таблицей. Это значительно облегчит все это, по крайней мере, на данный момент, и я могу позже преобразовать хранилище в окончательный тип. Функция ползет в лучшем виде.

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