欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-03-01 22:30:15
...
在之前的文章中给大家带来了《如何搞定PHP超级全局变量(整理分享)》,这篇文章中详细的介绍了PHP中超级全局变量的相关知识,本篇文章我们一起来看一看PHP中的list、each函数遍历数组的相关知识,希望能够帮助到大家!

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

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 />';
?>

输出结果:

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

由此可以看出,数组中“好好学习”的下标为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 />';
?>

输出结果:

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

在上述示例中,下标为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 />';
?>

输出结果:

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

在上述示例中,数组的下标因为键名直接从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>';
?>

输出结果:

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

由上述示例可以看出运行第一次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>';
?>

输出结果:

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

由此可以看出,每读取一次就会向后移动一次,将其中的每个元素拆分为新的数组,当读取到最后的时候,没有可操作的元素了,就会返回了false。

list和each的配合

我们知道了list的功能,也了解了each的功能,那么两者结合起来使用的话,会碰出什么不一样的火花呢?

我们通过示例来看一下:

<?php
$a=[
   'aaa'=>'好好学习',
   'bbb'=>'天天向上',
   'ccc'=>'福如东海',
   ];
list($key,$value) = each($a);
echo $key. '-----' .$value .'<br />';
?>

输出结果:

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

在上述实例中,each把元素拆了,然后list把0 =>aaa 赋值给了变量$key把1 => 好好学习 赋值给了变量 $value。通过我们之前讲到的while循环语句的配合,我们可以得到下面的示例:

<?php
$a=[
   'aaa'=>'好好学习',
   'bbb'=>'天天向上',
   'ccc'=>'福如东海',
   ];
   while(list($key,$value) = each($a)){
    echo $key. '-----' .$value .'<br />';
 
 }
?>

输出结果:

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

由上述结果可以看出,每循环一次,执行一次each,然后向后移动一个元素,执行到最后返回的是flash停止循环。

推荐学习:《PHP视频教程

以上就是学会使用PHP的List、each函数及配合的详细内容,更多请关注其它相关文章!

相关标签: PHP 函数