我们有一个以下的PHP分层数组。
我们需要像这样的输出。
$arr = [
[
'id' => 1,
'parent_id' => 0,
'access_type' => 'full-access',
'child' => [
[
'id' => 4,
'parent_id' => 1,
'access_type' => '',
],
[
'id' => 5,
'parent_id' => 1,
'access_type' => '',
],
],
],
[
'id' => 2,
'parent_id' => 0,
'access_type' => 'read',
'child' => [
[
'id' => 10,
'parent_id' => 2,
'access_type' => 'read-write',
'child' => [
[
'id' => 11,
'parent_id' => 10,
'access_type' => '',
],
[
'id' => 12,
'parent_id' => 10,
'access_type' => 'read',
],
],
],
[
'id' => 7,
'parent_id' => 3,
'access_type' => 'read-write',
],
],
],
[
'id' => 3,
'parent_id' => 0,
'access_type' => 'full-access',
'child' => [
[
'id' => 6,
'parent_id' => 3,
'access_type' => '',
'child' => [
[
'id' => 8,
'parent_id' => 6,
'access_type' => '',
],
[
'id' => 9,
'parent_id' => 6,
'access_type' => '',
],
],
],
[
'id' => 18,
'parent_id' => 3,
'access_type' => '',
],
],
],
[
'id' => 13,
'parent_id' => 0,
'access_type' => '',
'child' => [
[
'id' => 14,
'parent_id' => 13,
'access_type' => 'full-access',
'child' => [
[
'id' => 15,
'parent_id' => 14,
'access_type' => '',
],
[
'id' => 16,
'parent_id' => 14,
'access_type' => '',
],
],
],
[
'id' => 17,
'parent_id' => 13,
'access_type' => '',
],
],
],
];
我们需要像这样的输出。
我们这里有一个层次数组,如果嵌套子元素为空,我想显示access_type
为full-access
。
我们尝试了以下代码。
func_x($arr);
function func_x($arr, $level = 0)
{
foreach($arr as $x)
{
echo str_repeat("---", $level) . " [" . $x['id'] . "] -> " . $x['access_type'] . "<br>";
if(!empty($x['child']))
{
func_x($x['child'], $level+1);
}
}
}
full-access
的值。 - Chirag Pipariya