理想情况下,我希望能够将第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]
答案 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);
这会覆盖你要查找的结果长度为创建的数组,而不是您正在创建的数组。