PHP从入门到精通(第5版)
上QQ阅读APP看书,第一时间看更新

7.3 数组的类型

PHP支持两种数组:索引数组(indexed array)和联合数组(associative array),前者使用数字作为键,后者使用字符串作为键。

7.3.1 数字索引数组

PHP数字索引一般表示数组元素在数组中的位置,它由数字组成,下标从0开始,数字索引数组默认索引值从数字0开始,不需要特别指定,PHP会自动为索引数组的键名赋一个整数值,然后从这个值开始自动增量,当然,也可以指定从某个位置开始保存数据。

数组可以构造成一系列键-值(key-value)对,其中每一对都是数组的一个项目或元素(element)。对于列表中的每个项目,都有一个与之关联的键(key)或索引(index),如表7.1所示。

表7.1 数字索引键值

例7.1中的数组就是一个数字索引数组。

7.3.2 关联数组

关联数组的键名可以是数值和字符串混合的形式,而不像数字索引数组的键名只能为数字。在一个数组中,只要键名中有一个不是数字,那么这个数组就称为关联数组。

关联数组(associative array)使用字符串索引(或键)来访问存储在数组中的值,如表7.2所示。关联索引的数组对于数据库层交互非常有用。

表7.2 关联数组键值

【例7.3】本例将创建一个关联数组,实例代码如下:(实例位置:资源包\TM\sl\7\3

    <?php
       $newarray = array("first"=>1,"second"=>2,"third"=>3);
       echo $newarray["second"];
       $newarray["third"]=8;
       echo $newarray["third"];
    ?>

结果为:28

技巧

关联数组的键名可以是任何一个整数或字符串。如果键名是一个字符串,则不要忘了给这个键名或索引加上一个定界修饰符—单引号(')或双引号(")。对于数字索引数组,为了避免不必要的麻烦,最好也加上定界符。