首页 > 编程 > PHP > 正文

PHP中foreach()用法汇总

2020-03-22 16:45:07
字体:
来源:转载
供稿:网友

  这篇文章主要给大家详细介绍了PHP中foreach()用法以及相关的示例,十分的细致,有需要的小伙伴可以参考下。

  PHP 4 引入了 foreach 结构,和 Perl 以及其他语言很像。这只是一种遍历数组简便方法。foreach 仅能用于数组,当试图将其用于其它数据类型或者一个未初始化的变量时会产生错误。有两种语法,第二种比较次要但却是第一种的有用的扩展。

  ?

  1

  2

  3

  4

  5foreach (array_expression as $html' target='_blank'>value)

  statement

  foreach (array_expression as $key => $value)

  statement

  第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。

  第二种格式做同样的事,只是除了当前单元的键名也会在每次循环中被赋给变量 $key。

  先来看第一个语句,这个语句比较简单,array_expression指的是一个数组表达式,as $val语句将顺序取得该数组的值并保存到$val变量中,此种方法只能取得数组内的值,而不能取得数组的下标索引值。例如:

  ?

  1

  2

  3

  4$myArray=array("1"=>"val1","2"=>"val2","3"=>"val3");

  foreach($myArray as $val) {

  print($val." ");

  }

  其结果会输出:val1 val2 val3

  再来看看第二种格式,第二种格式除了能像第一种格式一样得到数组内元素的值外,还能得到元素的索引值,并保存到$key变量中,如果数组的索引值未经过人工设定,则返回系统默认的设定值,

  看正面例子:

  先看一个简单的一维数组:

  ?

  1

  2

  3

  4$myArray=array("1"=>"val1","2"="val2","3"=>"val3");

  foreach($myArray as $key=>$val) {

  print($key."=>".$val.";");

  }

  该程序将出输出:1=>val1;2=>val2;3=>val3;,接下来我们再来看一个复杂一点的二维数组遍历,程序如下:

  ?

  17$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("

");

  foreach($myArray as $key=>$val) {

  print("

".$key." ");

  if (is_array($val)) { //判断$val的值是否是一个数组,如果是,则进入下层遍历

  print("

");

  foreach($val as $key=>$val) {

  print("

".$key."=>".$val." ");

  }

  print("

");

  }

  }

  print("

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表