在PHP中合并数组
问题描述:
我有数组
array
0 =>
array
2 => int 50000
1 =>
array
2 => int 30000
2 =>
array
1 => int 25000
3 =>
array
1 => int 20000
4 =>
array
1 => int 10000
我需要创建数组,结果是:
array
2 => int 50000
2 => int 30000
1 => int 25000
1 => int 20000
1 => int 10000
谢谢大家。
抱歉,我的英语不好:(
Thank for all. sorry, my english very bad :(
答
PHP不允许数组具有相同的键。将显示php如何处理foreach循环,其中是将数组重写为具有所需键和值的新数组
PHP doesn't allow arrays to have the same keys. This will show how php will handle a foreach loop wich is rewriting the array into a new one with desired key and value
$array = array(
0 =>
array(
2 => 50000),
1 =>
array(
2 => 30000),
2 =>
array(
1 => 25000),
3 =>
array(
1 => 20000),
4 =>
array(
1 => 10000)
);
$new_array = array();
foreach($array as $data)
{
foreach($data as $key => $val)
{
$new_array[$key] = $val;
}
}
var_dump($new_array);
此将输出
array(2) {
[2]=>
int(30000)
[1]=>
int(10000)
}
您可以看到每个循环上的键均被覆盖因为它们是相同的,所以值也是一样,我想您可以使用上面的函数创建一个一级数组,该数组从 $ new_array
As you can see keys are overwritten on each loop becuase they are identical and so are values, i think you can use the above function to have a one level array removing keys from $new_array
foreach($data as $key => $val)
{
$new_array[] = $val;
}