首頁 >後端開發 >PHP問題 >php list函數什麼意思

php list函數什麼意思

青灯夜游
青灯夜游原創
2021-07-07 18:17:145095瀏覽

在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;
?>

運行結果如下:

php list函數什麼意思

可以看出$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;
?>

運行結果如下:

php list函數什麼意思

如果要將多維數組的值賦給一組變量,我們也可以將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