我有这个数组:
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"
}
答案 0 :(得分:2)
您可以使用array_walk_recursive:
$output = array();
array_walk_recursive($inputArray,
create_function('$val, $key, $obj', 'array_push($obj, $val);'), &output)
答案 1 :(得分:1)
$res = array();
array_walk_recursive($ar, function($v, $k, $res) {
$res[] = $v;
}, &$res);
答案 2 :(得分:1)
另一个选择是使用一些SPL的迭代器 1,2 和iterator_to_array()
{ {3}} 函数,为自己保存匿名回调的工作。
$leaves = iterator_to_array(
new RecursiveIteratorIterator(
new RecursiveArrayIterator($array)
),
FALSE
);
<强>参考文献强>
RecursiveArrayIterator
3 RecursiveIteratorIterator
http://php.net/recursivearrayiterator iterator_to_array()
http://php.net/recursiveiteratoriterator 答案 3 :(得分:0)
你不会得到你想要的,但你可以看到array_walk_recursive。
答案 4 :(得分:0)
function flatten_array(array $a)
{
array_walk_recursive($a, function($v) use(&$r) { $r[] = $v; });
return $r;
}
答案 5 :(得分:-1)
不,没有。你必须自己写。