将数组添加到数组数组中

时间:2014-01-19 03:05:44

标签: php arrays

理想情况下,我希望能够将第3个数组添加到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] =>数组([color] => green [形状] ] =>梯形)[颜色] =>蓝色[形状] =>方形)

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

2 个答案:

答案 0 :(得分:1)

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

要达到您想要的效果,您应该

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

或使用array_push()代替array_merge()

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

答案 1 :(得分:0)

$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);这会覆盖你要查找的结果长度为创建的数组,而不是您正在创建的数组。