• php学习笔记-foreach循环


    顾名思义,foreach是for each的连写,不是for reach。意思就是对数组中的每个元素都要处理一次。

    foreach只能用来处理数组。

    有两种用法,先看第一种。

    foreach(array as $value)
    {
      func();  
    }

    解释一下上面的代码,既然foreach是用来处理数组的,那么肯定需要指定一个数组的名字,array就是存放数组名字的一个变量。后面的value变量是什么意思呢?由于foreach是要对数组中的每个元素都要处理一次,那么你肯定需要一个变量来存放数组中的元素,要不你怎么处理数据呢?OK,我们解释了array和value存在的意义,接着看一下foreach的执行逻辑。

    foreach第一次执行的时候,已经有一个指针指向了array的第一个元素,然后把第一个元素取出来赋予给value变量,接下来开始执行循环体中的代码,在循环体中就可以用value变量中的值了,执行完循环体代码之后,PHP将指针移动到了下一个元素,然后就和之前的过程一样了,就这样一个一个的把数组中的元素取出来放到value中,在循环中你想用这个value的值你就用,不想用的话,下次循环值也被覆盖掉,直到指针移动到了数组的最后一个元素,这个指针就不移动了。

    <?php
    
    $names = array('chinese','math','english');
    
    foreach($names as $temp)
    {
    
        echo $temp . '<br>';
    }
    
    ?>
    

    再看第二种。

    foreach(array as $key =>$value)
    {
      func();  
    }

    第二种是用于关联数组的。对于关联数组我们比较关心它中的每个元素的名字和值,所以在foreach中需要两个变量来存放取得的每个元素的名字和值,key和value就是这两个变量,每次循环取得的元素名字和元素的值都被分别存放在key变量中和value变量中。

     1 <?php
     2 
     3 $names =array('a'=>'chinese','b'=>'math','c'=>'english');
     4 
     5 foreach($names as $temp1 => temp2)
     6 {
     7     echo $temp1 . '=>'. $temp2 . '<br>'; 
     8     
     9 }
    10 
    11 ?>
  • 相关阅读:
    烂泥:学习ubuntu之快速搭建LNMP环境
    烂泥:学习ubuntu远程桌面(二):远程桌面会话管理
    烂泥:学习ubuntu远程桌面(一):配置远程桌面
    烂泥:学习ssh之ssh密钥随身携带
    烂泥:学习ssh之ssh无密码登陆
    JS 获取浏览器窗口大小
    connect() failed (111: Connection refused) while connecting to upstream的解决
    css加载没效果,查看网络显示类型为 text/plain 的解决方法
    empty和isset的区别
    SQLite3命令操作大全
  • 原文地址:https://www.cnblogs.com/yfish/p/8453409.html
Copyright © 2020-2023  润新知