【问题标题】:merge array in single array在单个数组中合并数组
【发布时间】:2013-03-23 14:53:39
【问题描述】:

我已使用以下代码获取数组并合并它们。
在 print_r(arr1) 我得到以下数组。在 $arr 我试图合并数组但是当我 print_($arr) 在 for-each 的末尾我得到相同的数组。
我在做错误的数组合并吗? 如何合并或合并它?

foreach($q1->result_array() as $row4)
 {  
        $arr1 = $q1->result_array();
        echo"<pre>"; 

            print_r($arr1); 

        echo"</pre>";
        $arr = array_merge($arr, $arr1);
        echo "<br/>";
        $id = $row4['id'];
        $parent_id = $row4['parent_id'];
        if(!empty($arr1))
        {
            $this->showreply($id);                          
        }

 }
 print_r($arr); 

我在 print_r($arr1) 上得到的数组:

Array
(
    [0] => Array
        (
            [id] => 69
            [reply] => First reply to Reply
            [parent_id] => 68
            [postid] => 0
            [us_id] => 41
            [added_by] => Shailesh
            [photo] => 9.jpg
            [added_on] => 2013-04-01 16:06:13
        )

)

Array
(
    [0] => Array
        (
            [id] => 70
            [reply] => Reply to Nested Reply
            [parent_id] => 69
            [postid] => 0
            [us_id] => 41
            [added_by] => Shailesh
            [photo] => 9.jpg
            [added_on] => 2013-04-01 16:07:24
        )

)

Array
(
    [0] => Array
        (
            [id] => 52
            [reply] => Reply on demand
            [parent_id] => 70
            [postid] => 0
            [us_id] => 50
            [added_by] => swapnil
            [photo] => 
            [added_on] => 2013-03-29 16:27:57
        )

)

【问题讨论】:

  • foreach 完成后你想要的 $arr 中的内容
  • @thumbernirmal:假设我在 Foreach 中有以上三个数组,并希望在单个数组中。
  • 已在此问题中编辑,请检查。

标签: php codeigniter array-merge


【解决方案1】:
$arr = array_merge($arr, $arr1);

这个 $arr 变量从未被初始化,所以没有任何东西加上 $arr1 等于 $arr1。

还有为什么这段代码在 foreach 中?

【讨论】:

  • :foreach 内的代码,因为每次我得到新数组并希望将其合并到单个数组中。
  • 但是每次你得到不同的$row4值,而不是不同的$arr1!
  • :我没有显示整个代码,但是通过调用 showreply 函数我得到了数组上方。
【解决方案2】:

试试这个……我想这就是你要找的东西

    foreach($q1->result_array() as $row4)
    {  
         $arr1 = $q1->result_array();

          $arr[]=$row4; 
    }

  print_r($arr)

【讨论】:

猜你喜欢
  • 2015-09-28
  • 1970-01-01
  • 2014-03-31
  • 1970-01-01
  • 1970-01-01
  • 2015-12-21
  • 1970-01-01
  • 2019-08-15
  • 2019-08-11
相关资源
最近更新 更多