【问题标题】:Merging multiple PHP arrays合并多个 PHP 数组
【发布时间】:2013-04-01 14:51:13
【问题描述】:

我的问题是:我正在创建一个数组来存储这两种类型的“细化”。然而,当从数据库中收集信息时,当在 while 循环中创建数组时,每个“细化”都被分配给它自己的特定条目。

while($row = mysqli_fetch_array($result2, MYSQLI_ASSOC)){
etc...
}

例如,第一个数组是对“虎胆龙威”的引用,第二个数组是“绝命毒师”,第三个数组是“Greys Anatomy”。我想要实现的是将它们合并到 1 个单个数组中。

Array 
      ( 
      [genreType] => Action
      [mediaType] => Film
      ) 

Array 
      ( 
      [genreType] => Action
      [mediaType] => TV
      )  

Array 
      ( 
      [genreType] => Drama
      [mediaType] => TV
      )

感谢您的帮助。

【问题讨论】:

  • 您是否尝试过在循环之外创建一个临时变量数组,然后使用循环将值附加到数组中?
  • 所以你正在尝试做这样的事情:Array([genretype1]=>Action [mediatype1]=>Film [genretype2]=>Action 等等?

标签: php mysql arrays merge


【解决方案1】:

为什么不能只使用array_merge?来自 php 文档http://php.net/manual/en/function.array-merge.php

【讨论】:

    【解决方案2】:

    试试看这个,http://php.net/manual/en/function.array-merge.php

    <?php
        $array1 = array("color" => "red", 2, 4);
        $array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
        $result = array_merge($array1, $array2);
        print_r($result);
    ?>
    

    输出

    Array (
        [color] => green
        [0] => 2
        [1] => 4
        [2] => a
        [3] => b
        [shape] => trapezoid
        [4] => 4
    )
    

    【讨论】:

      【解决方案3】:
      while{$row...
      {
          $movies[] = $row;
          //OR
          $tmp['genreType'] = $row['genre'];
          //and the like.....
          $movies[] = $tmp;
      }
      

      导致

      $movies = array(
                   array(
                     "title"=>"Die Hard", 
                     "genreType"=>"Action", 
                     "mediaType"=>"Film"
                   ),
                   array(
                     "title"=>"some other movie",
                     "genreType"=>"Comedy",
                     "mediaType"=>"TV"
                   )
                 );
      

      喜欢这样吗?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-08
        • 1970-01-01
        • 2019-10-08
        • 2020-02-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多