我的数组是
$new_arr = array('list');
$arr = Array(0 => Array( 'fruits' => 'apple'),1 => Array( 'fruits' => 'mango'));
foreach($arr as $key => $val){
$res = array_fill($new_arr,$val);
}
print_r($new_arr);
它只填充索引1
。
答案 0 :(得分:0)
尝试array_push():
$new_arr = array('list');
$arr = Array(0 => Array( 'fruits' => 'apple'),1 => Array( 'fruits' => 'mango'));
foreach($arr as $key => $val){
$res = array_push($new_array,$val);
}
Print_r($res);
答案 1 :(得分:0)
使用[]
。
$new_arr = array('list'=>array());
$arr = Array(0 => Array( 'fruits' => 'apple'),1 => Array( 'fruits' => 'mango'));
foreach($arr as $key => $val){
$new_arr['list'][] = $val;
}
Print_r($new_arr);
答案 2 :(得分:0)
<?php
$new_arr = array();
$arr = Array(0 => Array( 'fruits' => 'apple'),1 => Array( 'fruits' => 'mango'));
foreach($arr as $key => $val)
{
$new_arr['list']['fruits'][] =$val['fruits'];
}
print_r($new_arr);
这会给你
Array
(
[list] => Array
(
[fruits] => Array
(
[0] => apple
[1] => mango
)
)
)
您需要的输出Array('list' => Array('fruits' => 'apple,'fruits' => 'mango'));
包含相同的键。这看起来不太好。
答案 3 :(得分:0)
无法获得您想要的最终结果。
Array('list' => Array('fruits' => 'apple,'fruits' => 'mango'));
总是最终成为
Array('list' => Array('fruits' => 'mango'));
因为您在同一个数组中使用了两个相同的键。
如果你不相信我,试试这个:
$arr = Array('list' => Array('fruits' => 'apple', 'fruits' => 'mango'));
var_dump($arr);
看看苹果是如何消失的?那是因为http://php.net/manual/en/function.array.php:
- 请注意,当定义了两个相同的索引时,最后一个索引覆盖第一个索引。
醇>
现在,如果您想保留所有数据并将它们合并为1个数组,则应将预期结果更改为:Array('list' => Array('fruits => Array(0 => 'apple', 1 => 'mango')));
实现这一结果的一种方法是:
$tmp_arr = array();
$arr = Array(0 => Array( 'fruits' => 'apple'),1 => Array( 'fruits' => 'mango'));
foreach($arr as $sub){
foreach($sub as $key=>$val) {
if (!array_key_exists($key, $tmp_arr))
$tmp_arr[$key] = array();
$tmp_arr[$key][] = $val;
}
}
$new_arr = array('list'=>$tmp_arr);
print_r($new_arr);