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

6.2 数组的类型

数组分为数字索引数组和关联索引数组。本节将详细讲述这两种数组的使用方法。

6.2.1 数字索引数组

数字索引数组是最常见的数组类型,默认从0开始计数。另外,数组变量在使用时即可创建,创建时即可使用。

声明数组的方法有两种。

(1)使用array()函数声明数组,具体的声明数组方式如下。

array数组名称([mixed]),其中参数mixed的语法为key=>value,如果有多个mixed,可以用逗号分开,分别定义索引和值。

    $arr = array("1"=> "空调", "2"=>"冰箱", "3"=>"洗衣机", "4"=>"电视机");

利用array()函数定义比较方便,可以只给出数组的元素值,而不需要给出键值,例如:

    $arr = array( "空调", "冰箱", "洗衣机", "电视机");

(2)直接通过为数组元素赋值的方式声明数组。

如果在创建数组时不知道数组的大小,或者数组的大小可能会根据实际情况发生变化,此时可以使用直接赋值的方式声明数组,例如:

    $arr[1]= "空调";
    $arr[2]= "冰箱"
    $arr[3]= "洗衣机";
    $arr[4]= "电视机";

下面以酒店网站系统中酒店房价为例进行讲解。

【例6.1】(实例文件:ch06\6.1.php)

    <? php
      $roomtypes = array( ’单床房’, ’标准间’, ’三床房’, 'VIP套房’);
      echo $roomtypes[0]."\t".$roomtypes[1]."\t".$roomtypes[2]."\t".$roomtypes[3].
      "<br />";
      echo "$roomtypes[0] $roomtypes[1] $roomtypes[2] $roomtypes[3] <br />";
      $roomtypes[0] = ’单人大床房’;
      echo "$roomtypes[0] $roomtypes[1] $roomtypes[2] $roomtypes[3]<br />";
    ?>

运行结果如图6-1所示。

图6-1 程序运行结果

【案例分析】

(1)$roomtypes为一维数组,用关键字array声明,并且用“=”赋值给数组变量$roomtypes。

(2)’单床房’、’标准间’、’三床房’和’VIP套房’ 为数组元素,且这些元素为字符串型,用单引号方式表示。每个数组元素用“, ”分开。echo命令直接打印数组元素,元素索引默认从0开始,所以第一个数组元素为$roomtypes[0]。

(3)数组元素可以直接通过“=”号赋值,如$roomtypes[0] = ’单人大床房’; , echo打印后为“单人大床房”。

6.2.2 关联索引数组

关联数组的键名可以是数值和字符串混合的形式,而不像数字索引数组的键名只能为数字。所以判断一个数组是否为关联数组的依据是:数组中的键名是否存在不是数字的字符,如果存在,则为关联数组。

下面以使用关联索引数组编写酒店房间类型为例进行讲解。

【例6.2】(实例文件:ch06\6.2.php)

    <? php
      $prices_per_day = array(’单床房’=> 298, ’标准间’=> 268, ’三床房’=> 198, 'VIP套房'=> 368);
      echo $prices_per_day[’标准间’]."<br />";
    ?>

运行结果如图6-2所示。

图6-2 程序运行结果

【案例分析】

其中,echo命令直接指定数组$prices_per_day中的关键字索引‘标准间’(是一个字符串)便可打印出数组元素268(是一个整型数字)。