php中的foreach

来源:互联网 发布:ubuntu离线安装包下载 编辑:程序博客网 时间:2024/04/28 01:24
php中的foreach语句主要用来操作数组(在php5中还可以用来操作对象),它有两种格式,分别如下:


一:
foreach (array_expression as $val) {
     print($val.";");
     ......
}
array_expression指的是一个数组表达式,as $val语句将顺序取得该数组的值并保存到$val变量中,此种方法只能取得数组内的值,而不能取得数组的下标索引值。例如:


$myArray=array("1"=>"val1","2"=>"val2","3"=>"val3");
foreach($myArray as $val) {
     print($val." ");
}


其结果会输出:val1 val2 val3
 




二:
foreach (array_expression as $key=>$val) {
     print($key."=>".$val.";");
     ......
}
第二种格式除了能像第一种格式一样得到数组内元素的值外,还能得到元素的索引值,并保存到$key变量中,如果数组的索引值未经过人工设定,则返回系统默认的设定值,
看正面例子:
先看一个简单的一维数组:
$myArray=array("1"=>"val1","2"="val2","3"=>"val3");
foreach($myArray as $key=>$val) {
     print($key."=>".$val.";");
}
该程序将出输出:1=>val1;2=>val2;3=>val3;,接下来我们再来看一个复杂一点的二维数组遍历,程序如下:
$myArray=array(
     "1"=>array("11"=>"val11","12"=>"val12","13"=>"val13"),
     "2"=>array("21"=>"val21","22"=>"val22","23"=>"val23"),
     "3"=>array("31"=>"val31","32"=>"val32","33"=>"val33")
);
print("<ul>");
foreach($myArray as $key=>$val) {
     print("<li>".$key."</li>");
     if (is_array($val)) {     //判断$val的值是否是一个数组,如果是,则进入下层遍历
         print("<ul>");
        foreach($val as $key=>$val) {
             print("<li>".$key."=>".$val."</li>");
         }
         print("</ul>");
     }
}
print("</ul>");
输出结果:


1
11=>val11
12=>val12
13=>val13
2
21=>val21
22=>val22
23=>val23
3
31=>val31
32=>val32
33=>val33
<ul> 和 <li>是 标签,作用是显示个实心小圆点和空心小圆点。
0 0
原创粉丝点击