您当前的位置:首页 > 文章教程 > 计算机与互联网 > 网络编程

7.3数组构造

7.3数组构造

7.3 数组构造

按照数组的构造来分,可以把数组分为一维数组和多维数组。

7.3.1 一维数组

数组中每个数组元素都是单个变量,不管是数字索引还是联合索引,这样的数组为一维数组。

【例7.3】(实例文件:ch07\7.3.php)

  <HTML>
  <HEAD><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /></HEAD>
  <BODY>
  <?php
    $roomtypes = array( "单床房","标准间","三床房","VIP套房");
    $prices_per_day = array("单床房"=> 298,"标准间"=> 268,"三床房"=> 198,"VIP套房"=> 368);
    ?>
  </BODY>
  </HTML>

其中的$roomtypes和$prices_per_day都是一维数组。

7.3.2 多维数组

数组也是可以“嵌套”的,即每个数组元素也可以是一个数组,这种含有数组的数组就是多维数组。例如:

  <?php
    $roomtypes = array( array( "type"=>"单床房",
                       "info"=>"此房间为单人单间。",
  		            "price_per_day"=>298
                     ),
                       array( "type"=>"标准间",
  		            "info"=>"此房间为两床标准配置。",
  		            "price_per_day"=>268
                     ),
                       array( "type"=>"三床房",
  		            "info"=>"此房间备有三张床",
  		            "price_per_day"=>198
                     ),
                       array( "type"=>"VIP套房",
  		            "info"=>"此房间为VIP两间内外套房",
  		            "price_per_day"=>368
                     )
		     );
  ?>

其中的$roomtypes就是多维数组。这个多维数组其实包含了两个维数。有点像数据库的表格,在第一个array里面的每个数组元素都是一个数组,而这些数组就像是数据二维表中的一行记录。这些包含在第一个array里面的array又都包含三个数组元素,分别是三个类型的信息,这就像是数据二维表中的字段。

上面的数组如果绘制成图,如图7-3所示。

image

图7-3 程序运行结果

其实,$roomtypes就是代表了这样的一个数据表。

如果出现了两维以上的数组,如三维数组,例如:

  <?php
  $buidling = array(array( array( "type"=>"单床房",
                               "info"=>"此房间为单人单间。",
  				     "price_per_day"=>298
                             ),
                            array( "type"=>"标准间",
  				 "info"=>"此房间为两床标准配置。",
  				     "price_per_day"=>268
                             ),
                            array( "type"=>"三床房",
  				 "info"=>"此房间备有三张床",
  				     "price_per_day"=>198
                             ),
                            array( "type"=>"VIP套房",
  				 "info"=>"此房间为VIP两间内外套房",
  				     "price_per_day"=>368
                             )
                      ),
                      array( array( "type"=>"普通餐厅包房",
  				 "info"=>"此房间为普通餐厅包房。",
  				     "roomid"=>201
                             ),
                            array( "type"=>"多人餐厅包房",
  				 "info"=>"此房间为多人餐厅包房。",
  				     "roomid"=>206
                             ),
                            array( "type"=>"豪华餐厅包房",
  				 "info"=>"此房间为豪华餐厅包房。",
  				     "roomid"=>208
                             ),
                            array( "type"=>"VIP餐厅包房",
  				 "info"=>"此房间为VIP餐厅包房",
  				     "roomid"=>310
                             )
                     )
  		);
  ?>

这个三维数组,在原来的二维数组后面又增加了一个二维数组,给出了餐厅包房的数据二维表信息。把这两个二维数组作为更外围array的两个数组元素,就产生了第三维。这个表述等于用两个二维信息表表示了一个名为$building的数组对象。用图7-4表示如下。

image

图7-4 程序运行结果

上一篇:7.2数组类型

下一篇:7.4遍历数组