background image

php foreach 用法和实例

签于菜鸟学习的时候总会用到遍历的时候,会用到 foreach 函数,在这里讲解一下 foreach
详例:
先来看第一个语句,这个语句比较简单,array_expression 指的是一个数组表达式,as 
$val 语句将顺序取得该数组的值并保存到$val 变量中,此种方法只能取得数组内的值,而不
能取得数组的下标索引值。例如:

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

其结果会输出:val1 val2 val3

再来看看第二种格式,第二种格式除了能像第一种格式一样得到数组内元素的值外,还能得
到元素的索引值,并保存到$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) {