首页 >后端开发 >PHP问题 >php list函数什么意思

php list函数什么意思

青灯夜游
青灯夜游原创
2021-07-07 18:17:145076浏览

在php中,list的意思为“列表”,该函数可以把一个数组中的值分别赋给一组变量,可以在单次操作内为一组(多个)变量赋值;语法“list($var1 [, $val2, ...]);”。list()实际上是一种语言结构,不是函数。

php list函数什么意思

本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑

PHP 中 list() 可以把一个数组中的值分别赋给一组变量,像 array() 一样,它并不是真正的函数,而是语言结构。 list() 可以在单次操作内为一组(多个)变量赋值。

list() 语法结果如下:

list($var1 [, $val2, ...]);

其中 $val1、$val2 是待赋值的一组变量,多个变量之间使用逗号,分隔。

注意:list() 仅能用于索引数组,并且索引要从 0 开始。PHP5 里 list() 从最右边的参数开始赋值;而 PHP7 里 list() 从最左边的参数开始赋值。

下面通过一个简单的示例演示以下 list() 的使用,代码如下所示:

<?php
header("Content-type:text/html;charset=utf-8");
$array = array("PHP中文网","PHP 教程","https://www.php.cn/");
list($a, $b, $c) = $array;
echo &#39;$a = &#39;.$a.&#39;<br>$b = &#39;.$b.&#39;<br>$c = &#39;.$c;
?>

运行结果如下:

$a = PHP中文网
$b = PHP 教程
$c = https://www.php.cn/

通过运行结果可以看出,list() 中的变量是按照数组的索引顺序赋值的,并且索引要从 0 开始,如果数组的索引不是从 0 开始的话,又会怎么样呢,我们来看下面的代码:

<?php
header("Content-type:text/html;charset=utf-8");
$array = array(1=>"PHP中文网",2=>"PHP 教程",3=>"https://www.php.cn/");
list($a, $b, $c) = $array;
echo &#39;$a = &#39;.$a.&#39;<br>$b = &#39;.$b.&#39;<br>$c = &#39;.$c;
?>

运行结果如下:

2.png

可以看出 $a 并没有被赋值,这是因为数组中并没有索引为 0 的值,如果在使用 list() 时,并不需要数组中全部的值时,我们可以省略 list() 中的部分变量,如下面这样:

<?php
header("Content-type:text/html;charset=utf-8");
$array = array("PHP中文网", "PHP 教程", "https://www.php.cn/");
list($a, , $c) = $array;
echo &#39;$a = &#39;.$a.&#39;<br>$b = &#39;.$b.&#39;<br>$c = &#39;.$c;
?>

运行结果如下:

3.png

如果要将多维数组的值赋给一组变量,我们还可以将 list() 嵌套起来使用,下面以二维数组为例来演示以下,代码如下所示:

<?php
header("Content-type:text/html;charset=utf-8");
$array = array(
    array(&#39;PHP中文网&#39;, &#39;PHP 教程&#39;),
    array(&#39;PHP 数组&#39;, &#39;https://www.php.cn/&#39;)
);
list(list($a, $b), list($c, $d)) = $array;
echo &#39;$a = &#39;.$a.&#39;<br>$b = &#39;.$b.&#39;<br>$c = &#39;.$c.&#39;<br>$d = &#39;.$d;
?>

运行结果如下:

$a = PHP中文网
$b = PHP 教程
$c = PHP 数组
$d = https://www.php.cn/

推荐学习:《PHP视频教程

以上是php list函数什么意思的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn