天天看点

PHP:多维数组扁平化

代码示例

<?php

$arr = [
    [
        '1', '2'
    ],
    [
        '1', '4', '5'
    ],
];

function flatten($arr)
{
    $result = [];
    foreach ($arr as $k => $v) {
        if (is_array($v)) {
            $result = array_merge($result, flatten($v));
        } else {
            $result[] = $v;
        }
    }
    return $result;
}

print_r(json_encode(flatten($arr)));
// ["1","2","1","4","5"]

// 去重处理,注意需要取值操作
print_r(json_encode(array_values(array_unique(flatten($arr)))));
// ["1","2","4","5"]      

参考

php 如何扁平化下面的数组?