首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP连接两个多维数组

PHP连接两个多维数组
EN

Stack Overflow用户
提问于 2017-03-17 21:57:41
回答 4查看 97关注 0票数 0

我有两个数组,我想加入它们。这两个数组都是foreach循环的产物。第一个是:

代码语言:javascript
运行
复制
$cleanNums[] = array(
    '01'=>$numbers[1],
    '02'=>$numbers[2],
    '03'=>$numbers[3],
    '04'=>$numbers[4],
    '05'=>$numbers[5],
    );

第二个是:

代码语言:javascript
运行
复制
$newDates[] = array(
    'day'=>$cleanDate[1],
    'month'=>$cleanDate[2],
    'year'=>$cleanDate[3],
    'draw'=>$cleanDate[6],
    );

使用array_merge $weeklyValues = array_merge($newDates,$cleanNums);我得到了:

代码语言:javascript
运行
复制
Array
(
    [0] => Array
        (
            [day] => 1st
            [month] => March
            [year] => 2017
            [draw] => 660
        )

    [1] => Array
        (
            [01] => 3
            [02] => 23
            [03] => 40
            [04] => 20
            [05] => 28
        )
)

我希望我的输出如下所示:

代码语言:javascript
运行
复制
Array
(
    [0] => Array
        (
            [day] => 1st
            [month] => March
            [year] => 2017
            [draw] => 660
            [01] => 3
            [02] => 23
            [03] => 40
            [04] => 20
            [05] => 28
        )
)
EN

回答 4

Stack Overflow用户

发布于 2017-03-17 22:01:54

请使用以下代码:

代码语言:javascript
运行
复制
$resultArray = array(
    0 => current($newDates) + current($cleanNums)
);

print_r($resultArray);
票数 0
EN

Stack Overflow用户

发布于 2017-03-17 22:08:48

http://php.net/manual/en/function.array-merge.php中的array_merge就是这样做的。不正确输出的原因在于您定义变量的方式,例如

$cleanNums[] = array(...)

将导致嵌套数组:

代码语言:javascript
运行
复制
array(1) {
  [0]=>
  array(5) {
   ...
  }
}

要避免这种情况,请更改赋值的方式:

代码语言:javascript
运行
复制
$cleanNums = array(...)

或者如何将其作为array_merge参数提供:

代码语言:javascript
运行
复制
$weeklyValues = array_merge($newDates[0],$cleanNums[0]);

当然,同样的情况也需要应用于$newDates

票数 0
EN

Stack Overflow用户

发布于 2017-03-17 22:08:54

我假设$cleanNums和$newDates是多维数组,会得到更多的[]值;

代码语言:javascript
运行
复制
$weeklyValues = array();

foreach($cleanNums as $array)
{
    $weeklyValues = array_merge($weeklyValues,$array);
}

foreach($newDates as $array)
{
    $weeklyValues = array_merge($weeklyValues,$array);
}

print_r($weeklyValues);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42859452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档