Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 多维数组递归?_Php - Fatal编程技术网

Php 多维数组递归?

Php 多维数组递归?,php,Php,我有这样的数组: $array = [ 'Category 1', 'Category 2', [ [ 'SubCategory 1', 'SubCategory 2' ], [ 'SubCategory 3', 'SubCategory 4', [ [

我有这样的数组:

$array = [
    'Category 1',
    'Category 2',
    [
        [
            'SubCategory 1',
            'SubCategory 2'
        ],
        [
            'SubCategory 3',
            'SubCategory 4',
            [
                [
                    'SubSubCategory 1',
                    'SubSubCategory 2'
                ]
            ]
        ],
        [
            'SubCategory 4',
            'SubCategory 5',
            [
                [
                    'SubSubCategory 3',
                    'SubSubCategory 4'
                ]
            ]
        ]
    ]
];
我试着做递归:

function recursive($array)
{
    foreach($array as $key => $val) {
        if(is_array($val)) {
            recursive($val);
        }
        echo $val;
    }
}
它抛出一个通知“通知:数组到字符串的转换”,因为

还有回波阵列


在这种情况下,当阵列具有这样的布局时。如何避免出现这种情况?

如果值不是数组,您只想
回显该值,所以只需添加一个
else

function recursive($array)
{
    foreach($array as $key => $val) {
        if(is_array($val)) {
            recursive($val);
        } else {
            echo $val;
        }
    }
}

如果该值不是数组,则只希望
回显该值,因此只需添加
else

function recursive($array)
{
    foreach($array as $key => $val) {
        if(is_array($val)) {
            recursive($val);
        } else {
            echo $val;
        }
    }
}

如果您能告诉我们递归函数的用途和所需的输出,这会有所帮助。
'category 2'=>数组(
…这在您上面的代码中是不正确的。“category 2”数组中的索引1是一个简单的字符串。然后索引2是一个单独的数组。您正在尝试创建关联数组吗?我更正了,如果您能告诉我们递归函数的用途和所需的输出,谢谢。
'category 2'=>数组(
…这在上面的代码中是不正确的。“category 2”在您的数组中,在数组的索引1处有一个简单的字符串。然后索引2分别是一个数组。您是否尝试创建关联数组?我更正了,谢谢