经常有人问到,知道父节点,怎么查找所有子节点的数据ID呢,今天小编也遇到一位大佬,问我同样的问题,我想了半天没想到,打开电脑,准备一试,就想到以下方法实现
//找出节点2 下面的所有子节点的ID
$a = [
['id' => 1, 'pid' => 0],
['id' => 2, 'pid' => 0],
['id' => 3, 'pid' => 0],
['id' => 4, 'pid' => 2],
['id' => 5, 'pid' => 2],
['id' => 6, 'pid' => 2],
['id' => 8, 'pid' => 4],
['id' => 9, 'pid' => 2],
['id' => 12, 'pid' => 8],
['id' => 13, 'pid' => 4],
['id' => 14, 'pid' => 13],
];
$data=[];
foreach ($a as $b)
{
if ($b['pid'] == 2)
{
$data[]=$b['id'];
}
if(in_array($b['pid'],$data)){
$data[]=$b['id'];
}
}
dd($data);
如有大家有更好的方法,可以留言给我,我在补充完善