PHP 4 引入了 foreach 构造,和 Perl 以及其他言语很像。这只是一种遍历数组轻便要领。foreach 仅能用于数组,当试图将其用于别的数据类型或许一个未初始化的变量时会发生毛病。有两种语法,第二种比较次要但倒是第一种的有效的扩大。
foreach (array_expression as $value) statement foreach (array_expression as $key => $value) statement
第一种花样遍历给定的 array_expression 数组。每次轮回中,当前单位的值被赋给 $value 而且数组内部的指针向前移一步(因而下一次轮回中将会获得下一个单位)。
第二种花样做一样的事,只是除了当前单位的键名也会在每次轮回中被赋给变量 $key。
相干引荐:《PHP入门教程》
先来看第一个语句,这个语句比较简朴,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) { 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>是 标签,作用是显现个实心小圆点和空心小圆点。
因为上面的是一个二维数组,在第一次遍历后所获得的$val值将是一个数组,所以我在遍历中加了一个推断,以便举行二层数组遍历。
以上就是php中foreach用法是什么的细致内容,更多请关注ki4网别的相干文章!