runoops.com

PHP 多维数组

多维数组是包含一个或多个数组的数组。

在多维数组中,主数组中的每一个元素也可以是一个数组,子数组中的每一个元素也可以是一个数组。

一个数组中的值可以是另一个数组,另一个数组的值也可以是一个数组,依照这种方式,我们可以创建二维或者三维数组。

二维数组语法格式:

array (
    array (elements...),
    array (elements...),
    ...
)

以上数组的元素会自动分配键值,从 0 开始:

<?php
// 二维数组:
$cars = array(
    array("Volvo", 100, 96),
    array("BMW", 60, 59),
    array("Toyota", 110, 100)
);
var_dump($cars);
?>

以下实例,我们创建了指定键(关联数组)的二维数组:

<?php
    $sites = array(
        "runoops" => array(
            "Runoops教程",
            "http://www.runoops.com"
        ),
        "google" => array(
            "Google 搜索",
            "http://www.google.com"
        ),
        "taobao" => array(
            "淘宝",
            "http://www.taobao.com"
        )
    );
    print("<pre>"); // 格式化输出数组
    print_r($sites);
    print("</pre>");
    ?>

让我们试着显示上面数组中的某个值:

echo $sites['runoops'][0] . '地址为:' . $sites['runoops'][1];

三维数组

三维数组是在二维数组的基础上再嵌套一层数组,格式如下:

array (
    array (
        array (elements...),
        array (elements...),
        ...
    ),
    array (
        array (elements...),
        array (elements...),
        ...
    ),
    ...
)
    <?php
    // 创建三维数组
    $myarray = array(
        array(
            array(1, 2),
            array(3, 4),
        ),
        array(
            array(5, 6),
            array(7, 8),
        ),
    );

    // 输出数组信息
    print("<pre>"); // 格式化输出数组
    print_r($myarray);
    print("</pre>");
    ?>

上面的数组将输出如下:

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [0] => 1
                    [1] => 2
                )

            [1] => Array
                (
                    [0] => 3
                    [1] => 4
                )

        )

    [1] => Array
        (
            [0] => Array
                (
                    [0] => 5
                    [1] => 6
                )

            [1] => Array
                (
                    [0] => 7
                    [1] => 8
                )

        )

)