在php中,list的意思為“列表”,該函數(shù)可以把一個(gè)數(shù)組中的值分別賦給一組變量,可以在單次操作內(nèi)為一組(多個(gè))變量賦值;語法“l(fā)ist($var1 [, $val2, …]);”。list()實(shí)際上是一種語言結(jié)構(gòu),不是函數(shù)。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
PHP 中 list() 可以把一個(gè)數(shù)組中的值分別賦給一組變量,像 array() 一樣,它并不是真正的函數(shù),而是語言結(jié)構(gòu)。 list() 可以在單次操作內(nèi)為一組(多個(gè))變量賦值。
list() 語法結(jié)果如下:
list($var1 [, $val2, ...]);
其中 $val1、$val2 是待賦值的一組變量,多個(gè)變量之間使用逗號(hào),分隔。
注意:list() 僅能用于索引數(shù)組,并且索引要從 0 開始。PHP5 里 list() 從最右邊的參數(shù)開始賦值;而 PHP7 里 list() 從最左邊的參數(shù)開始賦值。
下面通過一個(gè)簡(jiǎn)單的示例演示以下 list() 的使用,代碼如下所示:
<?php header("Content-type:text/html;charset=utf-8"); $array = array("PHP中文網(wǎng)","PHP 教程","https://www.php.cn/"); list($a, $b, $c) = $array; echo '$a = '.$a.'<br>$b = '.$b.'<br>$c = '.$c; ?>
運(yùn)行結(jié)果如下:
$a = PHP中文網(wǎng) $b = PHP 教程 $c = https://www.php.cn/
通過運(yùn)行結(jié)果可以看出,list() 中的變量是按照數(shù)組的索引順序賦值的,并且索引要從 0 開始,如果數(shù)組的索引不是從 0 開始的話,又會(huì)怎么樣呢,我們來看下面的代碼:
<?php header("Content-type:text/html;charset=utf-8"); $array = array(1=>"PHP中文網(wǎng)",2=>"PHP 教程",3=>"https://www.php.cn/"); list($a, $b, $c) = $array; echo '$a = '.$a.'<br>$b = '.$b.'<br>$c = '.$c; ?>
運(yùn)行結(jié)果如下:
可以看出 $a 并沒有被賦值,這是因?yàn)閿?shù)組中并沒有索引為 0 的值,如果在使用 list() 時(shí),并不需要數(shù)組中全部的值時(shí),我們可以省略 list() 中的部分變量,如下面這樣:
<?php header("Content-type:text/html;charset=utf-8"); $array = array("PHP中文網(wǎng)", "PHP 教程", "https://www.php.cn/"); list($a, , $c) = $array; echo '$a = '.$a.'<br>$b = '.$b.'<br>$c = '.$c; ?>
運(yùn)行結(jié)果如下:
如果要將多維數(shù)組的值賦給一組變量,我們還可以將 list() 嵌套起來使用,下面以二維數(shù)組為例來演示以下,代碼如下所示:
<?php header("Content-type:text/html;charset=utf-8"); $array = array( array('PHP中文網(wǎng)', 'PHP 教程'), array('PHP 數(shù)組', 'https://www.php.cn/') ); list(list($a, $b), list($c, $d)) = $array; echo '$a = '.$a.'<br>$b = '.$b.'<br>$c = '.$c.'<br>$d = '.$d; ?>
運(yùn)行結(jié)果如下:
$a = PHP中文網(wǎng) $b = PHP 教程 $c = PHP 數(shù)組 $d = https://www.php.cn/
推薦學(xué)習(xí):《PHP視頻教程》