频道栏目
首页 > 资讯 > 流程控制 > 正文

php foreach用法和实例

16-01-06        来源:[db:作者]  
收藏   我要投稿

签于菜鸟学习的时候总会用到遍历的时候,会用到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("

  • ");
    foreach($myArray as $key=>$val) {
         print("
  • ".$key."
  • ");
         if (is_array($val)) {     //判断$val的值是否是一个数组,如果是,则进入下层遍历
             print("
    • ");
              foreach($val as $key=>$val) {
                   print("
    • ".$key."=>".$val."
    • ");
               }
               print("
    ");
         }
    }
    print("
");

输出结果:
 

 

  • 1
    • 11=>val11
    • 12=>val12
    • 13=>val13
  • 2
    • 21=>val21
    • 22=>val22
    • 23=>val23
  • 3
    • 31=>val31
    • 32=>val32
    • 33=>val33

 

  • 是 标签,作用是显示个实心小圆点和空心小圆点。
    由于上面的是一个二维数组,在第一次遍历后所得到的$val值将是一个数组,所以我在遍历中加了一个判断,以便进行二层数组遍历。大家仔细看下,就能看懂,很简单的,不要被上面那些乱七八糟的字符所吓到了,呵呵。如果有条件,你还可以把它们复制到本地phpserver上运行下,看看效果,再分析,这样就更容易明白了。
相关TAG标签
上一篇:foreach报错Warning: Invalid argument supplied 问题分析
下一篇:php学习之break和continue的区别
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站