zoukankan      html  css  js  c++  java
  • php foreach用法和实例

    原文地址:http://www.cnblogs.com/DaBing0806/p/4717718.html

    foreach()有两种用法:
    1: foreach(array_name as $value){ 
            statement;
        }
     这里的array_name是你要遍历的数组名,每次循环中,array_name数组的当前元素的值被赋给$value,并且数组内部的下标向下移一步,也就是下次循环回得到下一个元素。


    2:foreach(array_name as $key => $value){        
           statement;     
     }   
     这里跟第一种方法的区别就是多了个$key,也就是除了把当前元素的值赋给$value外,当前元素的键值也会在每次循环中被赋给变量$key。键值可以是下标值,也可以是字符串。比如book[0]=1中的“0”,book[id]="001"中的“id”.

    来看看第二种格式,第二种格式除了能像第一种格式一样得到数组内元素的值外,还能得到元素的索引值,并保存到$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值将是一个数组,所以我在遍历中加了一个判断,以便进行二层数组遍历。

  • 相关阅读:
    showSoftInput不起作用
    GridView在PopWindow中OnItemClick不响应
    白盒测试范围
    Winform的ListBox的ValueMember和DisplayMember绑定的名称所属对象必须是Public的。
    谷歌浏览器安装adblock广告屏蔽插件
    php+curl上传文件
    win10我能ping通他人,但他人ping不同我
    自己的配置文件以及操作
    安装redis,执行make test时遇到You need tcl 8.5 or newer in order to run the Redis test
    安装redis时遇到zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录
  • 原文地址:https://www.cnblogs.com/yycc/p/7656949.html
Copyright © 2011-2022 走看看