array_map三维数组


array_map triple dimensional array

如何在三维数组上运行array_map?我想在哪里"清除"最里面的阵列?

它看起来像这样:

Array
(
    [1] => Array
        (
            [1] => Array
                (
                    [cat] => Hello!
                    [url] => hello
                )
            [5] => Array
                (
                    [cat] => Good job!
                    [url] => good-job
                )
    [2] => Array
        (
            [2] => Array
                (
                    [cat] => How are you?
                    [url] => how-are-you
                )
            [6] => Array
                (
                    [cat] => Running shoes
                    [url] => running-shoes
                )
        )
)

我想让它看起来像这样:

Array
(
    [1] => Array
        (
            [1] => Array
                (
                    [cat] => Hello!
                    [url] => hello
                )
            [2] => Array
                (
                    [cat] => Good job!
                    [url] => good-job
                )
    [2] => Array
        (
            [1] => Array
                (
                    [cat] => How are you?
                    [url] => how-are-you
                )
            [2] => Array
                (
                    [cat] => Running shoes
                    [url] => running-shoes
                )
        )

这个解决方案 在 php 中重置数组元素的键?"只是"适用于拖曳式阵列,如果我没错的话。

你可以写一个简短的函数来使用它array_map:

function mappingfunction($array){
    $remappedarray = array();
    foreach($array as $layer){
        $remappedarray[] = array_map('array_values', $array);
    }
    return $remappedarray;
}

如果要保留密钥:

function mappingfunction($array){
        $remappedarray = array();
        foreach($array as $key => $layer){
            $remappedarray[$key] = array_map('array_values', $array);
        }
        return $remappedarray;
    }

未经测试,但应该为您指明正确的方向。