在php中,list的意思為“列表”,該函數可以把一個數組中的值分別賦給一組變量,可以在單次操作內為一組(多個)變量賦值;語法“list($var1 [, $val2, …]);”。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 '$a = '.$a.'<br>$b = '.$b.'<br>$c = '.$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 '$a = '.$a.'<br>$b = '.$b.'<br>$c = '.$c; ?>
運行結果如下:
可以看出 $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 '$a = '.$a.'<br>$b = '.$b.'<br>$c = '.$c; ?>
運行結果如下:
如果要將多維數組的值賦給一組變量,我們還可以將 list() 嵌套起來使用,下面以二維數組為例來演示以下,代碼如下所示:
<?php header("Content-type:text/html;charset=utf-8"); $array = array( array('PHP中文網', 'PHP 教程'), array('PHP 數組', 'https://www.php.cn/') ); list(list($a, $b), list($c, $d)) = $array; echo '$a = '.$a.'<br>$b = '.$b.'<br>$c = '.$c.'<br>$d = '.$d; ?>
運行結果如下:
$a = PHP中文網 $b = PHP 教程 $c = PHP 數組 $d = https://www.php.cn/
推薦學習:《PHP視頻教程》