我有以下数组
Array ( [0] => Array ( [0] => 5 ) [1] => Array ( [0] => 6 [1] => 7 ) )
现在我只想要这个二维数组的值
结果应为array(5,6,7)
答案 0 :(得分:5)
根据你的看法,黑客/整洁的技巧;)
$result = call_user_func_array('array_merge', $a);
答案 1 :(得分:0)
$result = array();
foreach($parentArray as $pa)
{
if(is_array($pa))
$result= array_merge($result, $pa);
else
$result[] = $pa;
}
使用$result
。
答案 2 :(得分:0)
您正在寻找array_values()
,它返回所有数组值的数组,sans-keys。
http://php.net/manual/en/function.array-values.php
<强>更新强>
或者对于已经是多维的数组,您可以使用以下递归函数(从http://davidwalsh.name/flatten-nested-arrays-php借用):
function array_flatten($array,$return)
{
for($x = 0; $x <= count($array); $x++)
{
if(is_array($array[$x]))
{
$return = array_flatten($array[$x],$return);
}
else
{
if($array[$x])
{
$return[] = $array[$x];
}
}
}
return $return;
}
答案 3 :(得分:0)
像这样的东西
array_merge($a[0], $a[1]);
答案 4 :(得分:0)
function flattenArray($array) {
$flattened = array();
foreach($array as $value) {
if (is_array($value)) {
$flattened = array_merge($flattened, flattenArray($value));
} else {
$flattened[] = $value;
}
}
return $flattened;
}
$array = array(1, array(2, 3), array(4, array(5, 6)));
var_dump($array, flattenArray($array));
array(3) {
[0]=>
int(1)
[1]=>
array(2) {
[0]=>
int(2)
[1]=>
int(3)
}
[2]=>
array(2) {
[0]=>
int(4)
[1]=>
array(2) {
[0]=>
int(5)
[1]=>
int(6)
}
}
}
array(6) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
int(5)
[5]=>
int(6)
}