合并多个PHP数组

时间:2013-04-09 23:33:49

标签: php mysql arrays merge

我的问题是:我正在创建一个数组,以便存储这两种类型的'细化'。但是,正在发生的事情是从数据库中收集信息,当在while循环中创建数组时,每个'细化'都会分配给它自己的特定条目。

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

因此,例如,第一个阵列将是“Die Hard”和第二个“Breaking Bad”和第三个“Grays Anatomy”的引用。我想要实现的是将它们合并为一个单独的数组。

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

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

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

感谢您的帮助。

3 个答案:

答案 0 :(得分:4)

试着看看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
)

答案 1 :(得分:2)

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

答案 2 :(得分:0)

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"
             )
           );
像这样?