我有这个数组:
array(3) {
[0]=>
array(3) {
[0]=>
array(1) {
[0]=>
string(2) "14"
}
[1]=>
string(2) "12"
[2]=>
string(2) "13"
}
[1]=>
string(2) "10"
[2]=>
string(2) "11"
}
是否有一些 PHP 函数可以将所有值输出到一个字符串中。像这样:
array(5){
[0]=>
string(2) "14"
[1]=>
string(2) "12"
[2]=>
string(2) "13"
[3]=>
string(2) "11"
}
您可以使用array_walk_recursive:
$output = array();
array_walk_recursive($inputArray,
create_function('$val, $key, $obj', 'array_push($obj, $val);'), &output)
$res = array();
array_walk_recursive($ar, function($v, $k, $res) {
$res[] = $v;
}, &$res);
iterator_to_array()
3 函数,以节省匿名回调的工作。
$leaves = iterator_to_array(
new RecursiveIteratorIterator(
new RecursiveArrayIterator($array)
),
FALSE
);
参考资料
RecursiveArrayIterator
http://php.net/recursivearrayiteratorRecursiveIteratorIterator
http://php.net/recursiveiteratoriteratoriterator_to_array()
http://php.net/iterator_to_arrayfunction flatten_array(array $a)
{
array_walk_recursive($a, function($v) use(&$r) { $r[] = $v; });
return $r;
}
不,没有。你必须自己写。
你不会得到你想要的,但你可以看到array_walk_recursive。