在PHP中,是否有可能在不使用递归或引用的情况下将(双/多)维数组展开?
我只对值感兴趣,可以忽略键,我考虑使用array_map()
和array_values()
来实现。
在PHP中,是否有可能在不使用递归或引用的情况下将(双/多)维数组展开?
我只对值感兴趣,可以忽略键,我考虑使用array_map()
和array_values()
来实现。
这是我的解决方案,使用引用:
function arrayFlatten($array_in, &$array_out){
if(is_array($array_in)){
foreach ($array_in as $element){
arrayFlatten($element, $array_out);
}
}
else{
$array_out[] = $array_in;
}
}
$arr1 = array('1', '2', array(array(array('3'), '4', '5')), array(array('6')));
arrayFlatten($arr1, $arr2);
echo "<pre>";
print_r($arr2);
echo "</pre>";