填充多维数组

时间:2018-01-17 05:03:36

标签: php arrays

我正在玩多维数组。我正在试图弄清楚如何填充数组数组的元素/对象。

我简化了我最终试图用汽车上的一个例子做的事情,但是这模仿了我想要的阵列结构,减去了更多的复杂性。

如果这个问题太明显或太愚蠢,请原谅。

它返回一个错误,我无法填充:array_push()期望参数1为数组,给定为null

如果第一个参数必须是数组,我如何填充某个数组的元素?

编辑:我想我发现我可以通过$ arr [0] [0] [0] = 100完成我想要的任务。但不是通过array_push();所以我的问题和我现在想知道的是heck array_push()应该用于什么?

<!-- Array
(
[0] => Array
    (
        [0] => Array // Brand (Mercedes)
            (
                [0] => 100 // Quantity
                [1] => 50000 // Price
                [2] => Germany // Nationality
                [3] => 1926 // Year Founded
                [4] => Mercedes
            )

        [1] => Array // Brand (BMW)
            (
                [0] => 200 // Quantity
                [1] => 20000 // Price
                [2] => Japan // Nationality
                [3] => 1933 // Year Founded
                [4] => Nissan
            )
    )

) -->

<?php

$arr = array(array(array()));


array_push($arr[0][0][0], 100);
array_push($arr[0][0][1], 50000);
array_push($arr[0][0][2], Germany);
array_push($arr[0][0][3], 1926);
array_push($arr[0][0][4], Mercedes);

array_push($arr[0][1][0], 200);
array_push($arr[0][1][1], 20000);
array_push($arr[0][1][2], Japan);
array_push($arr[0][1][3], 1933);
array_push($arr[0][1][4], Nissan);


echo "<pre>";
print_r($arr);

?>

2 个答案:

答案 0 :(得分:1)

您不需要array_push

您只需要:$arr[0][0][0] = 100;

PHP没有多维数组,它有数组数组。

答案 1 :(得分:1)

你可以试试这个

<?php

$arr = [];


$arr[0][0][0] = 100;
$arr[0][0][1] = 50000;
$arr[0][0][2] = "Germany";
$arr[0][0][3] = 1926;
$arr[0][0][4] = "Mercedes";

$arr[0][1][0] = 200;
$arr[0][1][1] = 20000;
$arr[0][1][2] = "Japan";
$arr[0][1][3] = 1933;
$arr[0][1][4] = "Nissan";


?>

array_push的作用是$array[] = "a",但它更常用于将多个值推送到数组中。

  

如果你使用array_push()将一个元素添加到数组中,那么它会更好   使用$ array [] =因为这样就没有调用a的开销   功能。   引自php.net