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

PHP 實現函數返回多個值的技巧:list() 函數應用範例

     編輯:PHP 綜合知識

前言

Python、Go 等語言原生支援函數返回多值(如 a, b = func())。PHP 雖無直接語法,但可結合 陣列回傳 與 list() 語言結構 達到相同效果。

核心範例

<?php
function retrieve_user_profile() {
    $user = [];
    $user[] = "Jason";
    $user[] = "jb51.net";
    $user[] = "English";
    return $user;
}

// 使用 list() 解構陣列到多個變數
list($name, $email, $language) = retrieve_user_profile();

echo "Name: $name, email: $email, preferred language: $language";
// 輸出:Name: Jason, email: jb51.net, preferred language: English
?>

進階用法

1. 指定索引跳過元素

$data = [10, 20, 30, 40];
list(, , $third) = $data; // 只取第三個
echo $third; // 30

2. 結合陣列解構(PHP 7.1+)

[$a, $b, $c] = retrieve_user_profile(); // 短陣列語法
// 等同於 list($a, $b, $c) = ...

3. 關鍵字索引陣列(PHP 7.1+)

function get_user() {
    return ['name' => 'Alice', 'email' => 'alice@example.com'];
}
['name' => $name, 'email' => $email] = get_user();

注意事項

  • list() 僅支援數值索引陣列(PHP 7.1 前),關鍵字索引需用上述解構語法。
  • 回傳陣列長度若少於 list() 變數數量,多餘變數會被設為 null 並觸發 Notice。
  • 效能上,陣列建立與解構有微小開銷,極高頻呼叫場景可考慮改用物件或引用參數。

結語

善用 list() / 短陣列解構,能讓 PHP 程式碼在「多值返回」場景下更簡潔、可讀性更高,是現代 PHP 開發的常用慣用語。

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