PHP中的索引数组和关联数组(附带实例)
PHP 中的数组分为数字索引数组(简称索引数组)和关联索引数组(简称关联数组),本节详细讲解这两种数组的使用方法。
声明数组的方法有两种:
1) 使用 array() 函数声明数组,具体的声明数组的方式如下:
例如:
2) 直接通过为数组元素赋值的方式声明数组
如果在创建数组时不知道数组的大小,或者数组的大小可能会根据实际情况发生变化,此时可以使用直接赋值的方式声明数组,例如:
下面以酒店网站系统中的酒店房价为例讲解数组元素的赋值与访问。
'单床房'、'标准间'、'三床房'和'VIP套房'为数组元素,且这些元素为字符串型,用单引号方式表示。每个数组元素用“,”分开。echo 命令直接打印数组元素,元素索引默认从 0 开始,所以第一个数组元素为 $roomtypes[0]。
数组元素可以直接通过“=”号赋值,如
下面以使用关联索引数组编写酒店房间类型为例进行讲解。
PHP索引数组
索引数组是最常见的数组类型,默认从 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]= "电视机";
下面以酒店网站系统中的酒店房价为例讲解数组元素的赋值与访问。
<?php $roomtypes = array( '单床房','标准间','三床房','VIP套房'); echo $roomtypes[0]."\t".$roomtypes[1]."\t".$roomtypes[2]."\t".$roomtypes[3]."<b r/>"; echo "$roomtypes[0] $roomtypes[1] $roomtypes[2] $roomtypes[3] <br/>"; $roomtypes[0] = '单人大床房'; echo "$roomtypes[0] $roomtypes[1] $roomtypes[2] $roomtypes[3]<br/>"; ?>运行结果为:
单床房 标准间 三床房 VIP套房
单床房 标准间 三床房 VIP套房
单人大床房 标准间 三床房 VIP套房
'单床房'、'标准间'、'三床房'和'VIP套房'为数组元素,且这些元素为字符串型,用单引号方式表示。每个数组元素用“,”分开。echo 命令直接打印数组元素,元素索引默认从 0 开始,所以第一个数组元素为 $roomtypes[0]。
数组元素可以直接通过“=”号赋值,如
$roomtypes[0] = '单人大床房';
,echo 打印后为“单人大床房”。PHP关联数组
关联数组的键名可以是数值和字符串混合的形式,而不像索引数组的键名只能为数字。所以判断一个数组是否为关联数组的依据是:数组中的键名是否存在不是数字的字符,如果存在,就为关联数组。下面以使用关联索引数组编写酒店房间类型为例进行讲解。
<?php $prices_per_day = array('单床房'=> 298,'标准间'=> 268,'三床房'=> 198,'VIP套房'=> 368); echo $prices_per_day['标准间']."<br/>"; ?>运行结果为:
268
其中,echo 命令直接指定数组 $prices_per_day 中的关键字索引'标准间'(是一个字符串)便可打印出数组元素 268(是一个整型数字)。