我有两个数组,我想加入它们。这两个数组都是foreach循环的产物。第一个是:
$cleanNums[] = array(
'01'=>$numbers[1],
'02'=>$numbers[2],
'03'=>$numbers[3],
'04'=>$numbers[4],
'05'=>$numbers[5],
);第二个是:
$newDates[] = array(
'day'=>$cleanDate[1],
'month'=>$cleanDate[2],
'year'=>$cleanDate[3],
'draw'=>$cleanDate[6],
);使用array_merge $weeklyValues = array_merge($newDates,$cleanNums);我得到了:
Array
(
[0] => Array
(
[day] => 1st
[month] => March
[year] => 2017
[draw] => 660
)
[1] => Array
(
[01] => 3
[02] => 23
[03] => 40
[04] => 20
[05] => 28
)
)我希望我的输出如下所示:
Array
(
[0] => Array
(
[day] => 1st
[month] => March
[year] => 2017
[draw] => 660
[01] => 3
[02] => 23
[03] => 40
[04] => 20
[05] => 28
)
)发布于 2017-03-17 22:01:54
请使用以下代码:
$resultArray = array(
0 => current($newDates) + current($cleanNums)
);
print_r($resultArray);发布于 2017-03-17 22:08:48
http://php.net/manual/en/function.array-merge.php中的array_merge就是这样做的。不正确输出的原因在于您定义变量的方式,例如
$cleanNums[] = array(...)
将导致嵌套数组:
array(1) {
[0]=>
array(5) {
...
}
}要避免这种情况,请更改赋值的方式:
$cleanNums = array(...)或者如何将其作为array_merge参数提供:
$weeklyValues = array_merge($newDates[0],$cleanNums[0]);当然,同样的情况也需要应用于$newDates。
发布于 2017-03-17 22:08:54
我假设$cleanNums和$newDates是多维数组,会得到更多的[]值;
$weeklyValues = array();
foreach($cleanNums as $array)
{
$weeklyValues = array_merge($weeklyValues,$array);
}
foreach($newDates as $array)
{
$weeklyValues = array_merge($weeklyValues,$array);
}
print_r($weeklyValues);https://stackoverflow.com/questions/42859452
复制相似问题