首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP list() 函數用法詳解:數組值快速賦值給多個變量

     編輯:PHP 綜合知識

語法與特性

void list(mixed $var1, mixed $var2, ...)
  • 語言結構,非函數
  • 僅適用於數字索引數組,且假定索引從 0 開始
  • 按順序將數組值賦給變量

基本示例

$arr_age = [18, 20, 25];
list($wang, $li, $zhang) = $arr_age;
echo $wang;  // 18
echo $zhang; // 25

實戰:數據庫查詢結果賦值

$result = mysql_query("SELECT id, username, email FROM user");
while (list($id, $username, $email) = mysql_fetch_row($result)) {
    echo "用戶名:$username<br>";
    echo "郵箱:$email<br>";
}

進階:配合索引數組接收

$arr = [18, 20, 25];
list($a[0], $a[1], $a[2]) = $arr;
print_r($a);
/*
Array
(
    [2] => 25
    [1] => 20
    [0] => 18
)
*/
// 注意:賦值順序與 list() 列出順序相反 (最後賦值覆蓋前面)

對比:list() vs 解構賦值 (PHP 7.1+)

// PHP 7.1+ 短語法
[$a, $b, $c] = $arr_age;
// 支持鍵名指定、嵌套、引用賦值,功能更強

常見陷阱

  1. 關聯數組無效:list($a,$b) = ['x'=>1,'y'=>2] → $a=null, $b=null
  2. 索引不連續:[0=>'a', 2=>'b'] → $a='a', $b=null (索引 1 缺失)
  3. 變量數多於數組元素:多出變量賦值為 null

總結

list() 是 PHP 早期批量賦值的經典語法,適用於固定結構的索引數組(如 mysql_fetch_row、explode、each 返回值)。現代代碼推薦使用 [] 解構賦值,語法更簡潔、功能更強大、可讀性更高。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved