вопрос
Привет ребят подскажите как получить уровень вложенности комментария по id, тоесть если массив будет таков
А id к примеру 22 то как получить его вложенность? Вложенность должна получится [3]
array(
0 = array(
id => 1
pid => 0
0 => array(
id => 2
pid => 1
)
1 => array(
id => 21
pid => 2
)
0 => array(
[color=#FF0000]id => 22[/color]
pid => 21
)
0 => array(
id => 23
pid => 22
)
)
)
А id к примеру 22 то как получить его вложенность? Вложенность должна получится [3]
<?
function getLevel(&$arr, $id) {
$level = 0;
while ($id) {
$index = null;
foreach ($arr as $i => $row) {
if ($row['id'] == $id) {
$index = $i;
break;
}
}
$id = null;
if ($index !== null) {
$id = $arr[$index]['pid'];
if ($id) {
$level++;
}
}
}
return $level;
}
$arr = [
0 => [
'id' => 11,
'pid' => 0,
],
1 => [
'id' => 15,
'pid' => 11,
],
2 => [
'id' => 45,
'pid' => 15,
],
3 => [
'id' => 22,
'pid' => 45,
],
4 => [
'id' => 48,
'pid' => 22,
],
5 => [
'id' => 33,
'pid' => 48,
],
];
echo getLevel($arr, 48);