7.2 数组类型
数组分为数字索引数组和关联数组。本节将详细讲述这两种数组的使用方法。
7.2.1 数字索引数组
数字索引数组是最常见的数组类型,默认从0开始计数。另外,数组变量是在使用时即可创建,创建时即可使用。
下面以酒店网站系统中酒店房价为例进行讲解。
【例7.1】(实例文件:ch07\7.1.php)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/ DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <HEAD><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><h2>GoodHome房间类型。</h2></HEAD> <BODY> <?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 />"; ?> </BODY> </HTML>
运行结果如图7-1所示。
【案例分析】
(1)$roomtypes为一维数组,用关键字array声明。并且用“=”赋值给数组变量$roomtypes 。
(2)'单床房'、'标准间'、'三床房'和'VIP套房'为数组元素,且这些元素为字符串型,用单引号方式表示。每个数组元素用“,”分开。echo命令直接打印数组元素,元素索引默认从0开始,所以第一个数组元素为$roomtypes[0]。
(3)数组元素可以直接通过“=”来赋值,如“$roomtypes[0] = '单人大床房';”,echo打印后为“单人大床房”。
7.2.2 联合索引数组
所谓联合索引数组,是指每个数组元素都有键名与之对应的数组。
数组中的索引并非只有默认的数字索引,更为常用的是联合索引数组。也就是每个特定的数组元素都有一个特定的关键字(key)与其对应。
下面以使用联合索引数组编写酒店房间类型为例进行讲解。
【例7.2】(实例文件:ch07\7.2.php)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/ DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <HEAD><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><h2>GoodHome房间类型。</h2></HEAD> <BODY> <?php $prices_per_day = array('单床房'=> 298,'标准间'=> 268,'三床房'=> 198,'VIP套房'=> 368); echo $prices_per_day['标准间']."<br />"; ?> </BODY> </HTML>
运行结果如图7-2所示。
【案例分析】
echo命令直接指定数组$prices_per_day中的关键字索引standardroom(是个字符串)便可打印出数组元素268(是一个整型数字)。