4.2.2 使用foreach循环语句输出数组元素
PHP还专门为数组提供了一个循环语句:foreach循环语句,它的语法结构如下所示。
foreach($array as$some_var)
{
statement
}
其中foreach和as都是PHP关键字。该语法结构的含义是:按顺序,每次将数组$array中的一个元素存入变量$some_var后执行statement语句,然后取下一个元素执行statement语句,依次下去,直到所有元素都取到。和for循环语句一样,statement可以是单条语句,也可以是一个语句块。代码4-2可以改写成代码4-3的形式,输出的结果和代码4-2完全一样。
代码4-3 使用foreach循环获取数组元素4-3.php
01 <?php
02 $ms_office=array(
03 'word',
04 'excel',
05 'outlook',
06 'access'
07 );//定义数组$ms_office
08
09 foreach($ms_office as$software)//使用foreach遍历数组$ms_office的值
10 {
11 echo$software;//输出数组$ms_office中的值
12 echo"<br/>";
13 echo"<br/>";
14 }
15 ?>
【代码解析】这段代码第9~14行将数组的每个元素依次存储在变量$software中,然后打印出来。
foreach循环不仅可以获取数组元素,还可以获取索引,如代码4-4所示。
代码4-4 使用foreach循环获取数组元素及其索引4-4.php
01 <?php
02 $ms_office=array(
03 'wd'=>'word',
04 'ec'=>'excel',
05 'ol'=>'outlook',
06 'ac'=>'access'
07 );//定义数组$ms_office
08
09 foreach($ms_office as$key=>$value)//遍历数组$ms_office
10 {
11 echo$key.":".$value;//输出数组中$ms_office的索引和元素
12 echo"<br/>";
13 echo"<br/>";
14 }
15 ?>
【代码解析】这段代码中,每次foreach循环都会将数组的一个索引赋给变量$key,将其对应的值赋给变量$value。该代码输出结果如图4-2所示。