PHP

PHP 知识量:7 - 20 - 67

5.1 数组分类><

索引数组- 5.1.1 -

php的数组可以看作是一个表,每个表格里面可以是数字、字符或者另一个表格。php的数组相比Java或C++等语言的数组更加灵活,因为它对于数组元素的类型是没有限制的。

php数组可以简单的分为:索引数组、关联数组和多维数组。

索引数组是用数字作为键名的数组,例如:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>index</title>
    </head>
    <body>
        <?php
        $array1 = array(1, 2, 3, 4, 5);
        var_dump($array1);
        ?>
    </body>
</html>

以上代码定义了一个数组$array1,它的值分别是1、2、3、4、5。键名分别是0、1、2、3、4,注意:php索引数组键名是从0开始计数的。

0 1 2 3 4
1 2 3 4 5

关联数组- 5.1.2 -

关联数组与索引数组的区别就是键名的不同,关联数组使用字符串作为数组的键名。例如:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>index</title>
    </head>
    <body>
        <?php
        $array2 = array('one' => 1, 'two' => 2, 'three' => 3, 'four' => 4, 
        'five' => 5);
        var_dump($array2);
        ?>
    </body>
</html>

以上代码定义了一个数组$array,它的值分别是1、2、3、4、5。键名分别是one、tow、three、four、five。

onetwothreefourfive
12345

要引用定义的数组元素,只需要以数组名加中括号的方式来使用即可,中括号内是键名。例如:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>index</title>
    </head>
    <body>
        <?php
        $array1 = array(1, 2, 3, 4, 5);
        $array2 = array('one' => 1, 'two' => 2, 'three' => 3, 'four' => 4, 
        'five' => 5);
        echo "$array1[0]";
        echo "<br>";
        echo "{$array2['one']}";
        ?>
    </body>
</html>

引用索引数组时,使用数字键名;引用关联数组时,就要使用对应的字符串作为键名。注意:以上代码中,当使用echo打印关联数组元素时,因为中括号内的字符串键名有单引号,需要使用大括号括起来,不然会出错。

多维数组- 5.1.3 -

多维数组可以理解为一个表的单元格里面包含了另一个表,也就是数组的元素值是另一个数组。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>index</title>
    </head>
    <body>
        <?php
        $array['number'] = 1;
        $array['table'] = array('red', 'yellow', 'green');
        var_dump($array);
        ?>
    </body>
</html>

以上代码中,定义了一个多维数组(二维数组),其中第二个值($array['table'])是一个包含颜色值的索引数组。

要引用多维数组的值,只需要利用中括号将其明确指示出来即可。例如:如果要找到“green”,需要这样写:$array['table'][2]。也就是有几个维度,就加几个中括号来引用。