【问题标题】:Adding an array into an array of arrays将数组添加到数组数组中
【发布时间】:2014-01-19 03:05:44
【问题描述】:

理想情况下,我希望能够将第三个数组添加到由 2 个数组组成的数组中。我尝试过array_push、array_merge 和array_merge_recursive。以下是相关代码:

$array1 = array("color" => "red", "shape" => "triangle");
$array2 = array("color" => "green", "shape" => "trapezoid");
$array3 = array("color" => "blue", "shape" => "square");
$result = array($array1, $array2);
$result = array_merge($result, $array3);
print_r($result); 

当前代码返回: Array ( [0] => Array ( [color] => red [shape] => triangle ) [1] => Array ( [color] => green [shape] => trapezoid ) [颜色] => 蓝色 [形状] => 方形 )

它的问题是我也需要它来为第三个数组编号。所以,[0]、[1] 和 [2]

【问题讨论】:

  • 这有什么问题?您的示例代码有效。 array_push($result, $array3) 也可以。
  • 我没有得到第三个数组的编号
  • for($i=0; $i'; }
  • 您只想添加array3? $result[] = $array3;

标签: php arrays


【解决方案1】:

您正在将字符串数组 ($array3) 与数组数组 ($result) 合并。

要达到你想要的结果,你应该这样做

$result = array($array1, $array2, $array3);

或使用array_push() 代替array_merge()

$result = array($array1, $array2);
array_push($result, $array3);

【讨论】:

    【解决方案2】:
    $array1 = array("color" => "red", "shape" => "triangle");
    $array2 = array("color" => "green", "shape" => "trapezoid");
    $array3 = array("color" => "blue", "shape" => "square");
    
    $result = array($array1, $array2);
    
    array_push($result, $array3);
    

    array_push 是要走的路,因为您会将新数组添加到数组数组中。 array_merge 的问题在于它获取 $array3 的内容(不是数组本身)并将它们添加到 $result

    当您说您之前尝试过 array_push 时,我猜您是这样错误地使用它:$result = array_push($result, $array3); 这将用创建的数组的长度覆盖您正在寻找的结果,而不是数组你正在创造。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-11
      • 2023-04-02
      • 2012-01-01
      • 2019-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多