加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_潮州站长网 (http://www.0768zz.com/)- 物联安全、建站、操作系统、云计算、数据迁移!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

学会使用借助PHP的List、each函数及配合

发布时间:2022-08-02 16:13:17 所属栏目:PHP教程 来源:互联网
导读:list函数与each函数是我们在日常生活中经常能够用到的函数,那么这两个函数应该怎么使用?两者之间有什么特点?他们又是怎么配合使用的?这两个函数是比较有意思的数组函数,函数学习起来并不难,那我们一起来看看吧。 list函数 list函数它的功能是:能够将
  list函数与each函数是我们在日常生活中经常能够用到的函数,那么这两个函数应该怎么使用?两者之间有什么特点?他们又是怎么配合使用的?这两个函数是比较有意思的数组函数,函数学习起来并不难,那我们一起来看看吧。
 
  list函数
 
  list函数它的功能是:能够将索引数组下标为0的对应为变量1,下标为1的对应变量2...list函数能够将数组的元素变成变量使用。
 
  它的基本语法是:
 
 
  list(变量1,变量2...)
 
  示例如下:
 
 
 
  <?php
 
  list($a , $b , $c, $d) = array('好好学习' ,'天天向上' ,'福如东海','寿比南山');
 
  echo '$a----'.$a.'<br />';
 
  echo '$b----'.$b.'<br />';
 
  echo '$c----'.$c.'<br />';
 
  echo '$d----'.$d.'<br />';
 
  ?>
 
  输出结果:
 
  1018.01.png
 
  由此可以看出,数组中“好好学习”的下标为0,就对应了list函数中的$a;也可以理解为,数组中变量为0的“好好学习”赋值给了list函数中的$a;以此类推。list就是从左到右,一一对应索引数组从0开始的下标值。
 
  同时还有一种情况,示例如下:
 
 
 
  <?php
 
  list( ,  , $c, $d) = array('好好学习' ,'天天向上' ,'福如东海','寿比南山');
 
  echo '$a----'.$a.'<br />';
 
  echo '$b----'.$b.'<br />';
 
  echo '$c----'.$c.'<br />';
 
  echo '$d----'.$d.'<br />';
 
  ?>
 
  输出结果:
 
  1018.02.png
 
  在上述示例中,下标为2的福如东海赋值给了$c,list中的前两个位置留了空,按照一一对应,所以好好学习和天天向上没有变量与之对应。所以list函数严格遵守一一对应原则,也就是list函数的地一个变量对应的是数组中下标为0的元素,下标为1的对应的是list函数中的第二个变量,以此类推。
 
  当然还有一种情况,示例如下:
 
 
 
  <?php
 
  list($a , $b , $c, $d) = array(2=>'好好学习' ,'天天向上' ,'福如东海','寿比南山');
 
  echo '$a----'.$a.'<br />';
 
  echo '$b----'.$b.'<br />';
 
  echo '$c----'.$c.'<br />';
 
  echo '$d----'.$d.'<br />';
 
  ?>
 
  输出结果:
 
  1018.03.png
 
  在上述示例中,数组的下标因为键名直接从2开始,所以数组元素中没有下标为0和1的元素,所以变量a和b就没有对应的值。同时,list函数中只写了四个变量,数组元素中的下标为4和5的福如东海、寿比南山也就没有了对应的变量。
 
  each函数
 
  each函数的功能是传入一个数组。它会将其中的一个元素拆分为一个新的数组。每次执行这样操作一个元素。执行一次先后移动一次,同样的方式操作下一个数组元素。执行到最后,返回false。
 
  示例如下:
 
 
 
  <?php
 
  $a=[
 
     'aaa'=>'好好学习',
 
     'bbb'=>'天天向上',
 
     'ccc'=>'福如东海',
 
     'ddd'=>'寿比南山'
 
     ];
 
  //第一次each
 
  $data = each($a);
 
  echo '<pre>';
 
  var_dump($data);
 
  echo '</pre>';
 
  ?>
 
  输出结果:
 
  1018.04.png
 
  由上述示例可以看出运行第一次each函数,将数组元素中的第一个元素也就是aaa=>好好学习拆为一个新的数组。可以理解为,each函数读取了第一个元素,将第一个元素分解开了,在新数组里面,将原值(好好学习)放了索引下标1里面,同时放到了关联下标value里面,将原键(aaa),放到了关联下标key里面,放到了索引下标0里面。
 
  这是运行了一次的结果,那我们再来看一下多运行几次,示例如下:
 
 
 
  <?php
 
  $a=[
 
     'aaa'=>'好好学习',
 
     'bbb'=>'天天向上',
 
     'ccc'=>'福如东海'
 
     ];
 
  //第一次each
 
  $data = each($a);
 
  echo '<pre>';
 
  var_dump($data);
 
  echo '</pre>';
 
  //第二次each
 
  $data = each($a);
 
  echo '<pre>';
 
  var_dump($data);
 
  echo '</pre>';
 
  //第三次each
 
  $data = each($a);
 
  echo '<pre>';
 
  var_dump($data);
 
  echo '</pre>';
 
  //第四次each
 
  $data = each($a);
 
  echo '<pre>';
 
  var_dump($data);
 
  echo '</pre>';
 
  ?>
 
  输出结果:
 
  1018.06.png
 
  由此可以看出,每读取一次就会向后移动一次,将其中的每个元素拆分为新的数组,当读取到最后的时候,没有可操作的元素了,就会返回了false。
 
  list和each的配合
 
  我们知道了list的功能,也了解了each的功能,那么两者结合起来使用的话,会碰出什么不一样的火花呢?
 
  我们通过示例来看一下:
 
 
 
 
  <?php
 
  $a=[
 
     'aaa'=>'好好学习',
 
     'bbb'=>'天天向上',
 
     'ccc'=>'福如东海',
 
     ];
 
  list($key,$value) = each($a);
 
  echo $key. '-----' .$value .'<br />';
 
  ?>
 
  输出结果:
 
  1018.07.png
 
  在上述实例中,each把元素拆了,然后list把0 =>aaa 赋值给了变量$key把1 => 好好学习 赋值给了变量 $value。通过我们之前讲到的while循环语句的配合,我们可以得到下面的示例:
 
 
 
  <?php
 
  $a=[
 
     'aaa'=>'好好学习',
 
     'bbb'=>'天天向上',
 
     'ccc'=>'福如东海',
 
     ];
 
     while(list($key,$value) = each($a)){
 
      echo $key. '-----' .$value .'<br />';
 
    
 
   }
 
  ?>
 
  输出结果:
 
  1018.08.png
 
  由上述结果可以看出,每循环一次,执行一次each,然后向后移动一个元素,执行到最后返回的是flash停止循环。

(编辑:我爱制作网_潮州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读