我有这个多维PHP数组(在下面)。
Array
(
[0] => Array
(
[2] => one@example.com
)
[1] => Array
(
[4] => two@example.com
)
[2] => Array
(
[3908] => twenty@example.com
)
[3] => Array
(
[2548] => eleven@example.com
)
[4] => Array
(
[3099] => ten@example.com
)
[5] => Array
(
[5283] => six@example.com
)
)
我想知道我怎么能合并?还是结合?或者简单地使用PHP(在下面)这样做。
Array
(
[2] => one@example.com
[4] => two@example.com
[3908] => twenty@example.com
[2548] => eleven@example.com
[3099] => ten@example.com
[5283] => six@example.com
)
帮助
答案 0 :(得分:3)
您可以通过call_user_func_array()将第二级元素“提升”为第一级元素。虽然array_merge()重新索引数组,但array_replace()不会保留原始键,这使得它成为一个单行:
$a = call_user_func_array('array_replace', $a);
试验:
<?php
$a = array (
array (2 => 'one@example.com'),
array (4 => 'two@example.com'),
array (3908 => 'twenty@example.com'),
array (2548 => 'eleven@example.com'),
array (3099 => 'ten@example.com'),
array (5283 => 'six@example.com'),
);
$a = call_user_func_array('array_replace', $a);
var_dump($a);
答案 1 :(得分:0)
只需浏览阵列并存储到另一个阵列。
$a = array( 0 => array(1) , 1=> array(3) );
$another=array();
foreach ($a as $k=>$v){
foreach ($v as $y=>$z){
$another[$k]=$z;
}
}
print_r($another);
答案 2 :(得分:-1)
这个怎么样?
foreach( $old_arr as $old )
{
$key = key( $old[0] );
$new[ $key ] = $old[0][$key];
}
编辑:没关系,没有意识到以前的答案已得到纠正。