zoukankan      html  css  js  c++  java
  • 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 ?>
  • 相关阅读:
    27 树莓派做直播平台
    1 视频压缩软件
    (9-4 )deepsort在ubuntu1604下配置
    利用mvn进行多环境配置
    fidder及Charles使用
    轻松搞定面试中的二叉树题目(java&python)
    数据结构与算法系列 目录
    [转]揭秘webdriver实现原理
    作用域安全的构造函数
    JavaScript函数绑定
  • 原文地址:https://www.cnblogs.com/yfish/p/8453409.html
Copyright © 2011-2022 走看看