【问题标题】:Merging arrays to the one array from while loop从while循环将数组合并到一个数组
【发布时间】:2017-02-18 18:01:56
【问题描述】:

我需要将信息从数据库放入数组,然后制作一个数组。 于是我写了如下代码:

     $sql0 = "SELECT * FROM ".$working_table." ORDER by id ASC";
        $result = mysqli_query($conn, $sql0);
        $num_rows = mysqli_num_rows($result);

        while($row = mysqli_fetch_array($result)){

     ${"emails_arr$row[id]"} = explode(",",$row['station_email']);

     echo print_r(${"emails_arr$row[id]"})."<br>";
 }

        $sql0 = "SELECT * FROM ".$working_table." ORDER by id ASC";
        $result = mysqli_query($conn, $sql0);
        $num_rows = mysqli_num_rows($result);

        while($row = mysqli_fetch_array($result)){

        $result_array = array_merge(${"emails_arr$row[id]"});

 }
        echo print_r($result_array);

棘手的部分是我不知道如何从 while 循环中将一个数组合并到一个数组:$result_array = array_merge(${"emails_arr$row[id]"}); 它只显示最后一个数组,其他数组正在重写。

谢谢你们!

【问题讨论】:

  • $result_array = array_merge($result_array, ${"emails_arr$row[id]"}); 但是您需要注意不要覆盖现有的密钥...
  • 试试这个$oldArray[]= $oldArray;

标签: php arrays merge


【解决方案1】:

用这个改变你的while循环代码

while($row = mysqli_fetch_array($result)){

        $result_array[] = array_merge(${"emails_arr$row[id]"});

 }

注意方括号。

【讨论】:

  • 这个应该可以,但它是一个多维数组,我只需要将所有循环名生成的数组合并为一个:)
猜你喜欢
  • 2014-03-22
  • 2014-05-29
  • 2018-10-12
  • 1970-01-01
  • 2013-05-03
  • 1970-01-01
  • 1970-01-01
  • 2020-08-24
  • 2019-07-30
相关资源
最近更新 更多