A
<?php
$Json = '{
"menu": [
{
"level": "2"
},
{
"level": "2"
},
{
"level": "2"
},
{
"level": "3"
},
{
"level": "3"
},
{
"level": "3"
},
{
"level": "4"
},
{
"level": "4"
},
{
"level": "4"
},
{
"level": "2"
},
{
"level": "3"
},
{
"level": "3"
},
{
"level": "3"
},
{
"level": "4"
},
{
"level": "2"
},
{
"level": "3"
},
{
"level": "3"
}
]
}';
$Arr1 = json_decode($Json);
$TempArr = [];
$val = 100;
foreach ($Arr1->menu as $item){
if($item->level < $val){
$val = $item->level;
}
$TempArr[] = $item->level;
}
echo '<ul>';
for ($i=0;$i<count($TempArr);$i++){
if (isset($TempArr[$i+1])){
//print_r($TempArr[$i]);
if($TempArr[$i] == $TempArr[$i+1]){
echo '<li>' . $TempArr[$i] . '</li>';
} elseif ($TempArr[$i] > $TempArr[$i+1]){
$val = $TempArr[$i]-$TempArr[$i+1];
echo '<li>'.$TempArr[$i].'</li>';
for ($i1=0;$i1<$val;$i1++) {
echo '</ul>';
}
} elseif ($TempArr[$i] < $TempArr[$i+1]){
echo '<li>'.$TempArr[$i].'</li><ul>';
}
} else {
echo '<li>'.$TempArr[$i].'</li>';
}
}
echo '</ul>';
Result: