ZetCode

PHP list() 函数

最后修改于 2025 年 3 月 13 日

PHP 的 list 函数在一个操作中将数组元素分配给变量。 它是 PHP 中解构数组的便捷方式。

基本定义

list 函数将数组中的值分配给单个语句中的变量。 它的工作方式与其他语言中的数组解构类似。

语法:list(var1, var2, ...) = array。 该函数按顺序将数组元素分配给变量。 额外的数组元素将被忽略。

基本 list() 示例

这展示了 list 的最简单用法,用于分配数组值。

basic_list.php
<?php

$person = ["John", "Doe", 32];

list($firstName, $lastName, $age) = $person;

echo "$firstName $lastName is $age years old.";

数组元素按顺序分配给变量。 第一个元素分配给 $firstName,第二个分配给 $lastName,第三个分配给 $age

跳过元素

您可以通过省略变量或使用空逗号来跳过数组元素。

skip_elements.php
<?php

$data = ["red", "green", "blue", "yellow"];

list($color1, , $color3) = $data;

echo "First color: $color1, Third color: $color3";

通过连续使用两个逗号来跳过第二个元素。 只有第一个和第三个元素被分配给变量。

关联数组

从 PHP 7.1 开始,list 支持关联数组解构。

associative_array.php
<?php

$user = [
    "name" => "Alice",
    "email" => "alice@example.com",
    "age" => 28
];

["name" => $name, "email" => $email] = $user;

echo "$name <$email>";

这使用键名将关联数组中的值分配给变量。 语法类似于 JavaScript 对象解构。

嵌套数组

list 可以使用类似的语法解构嵌套数组。

nested_array.php
<?php

$data = [
    [1, 2],
    [3, 4],
    [5, 6]
];

list(list($a, $b), list($c, $d)) = $data;

echo "$a, $b, $c, $d";

此示例展示了如何解构多维数组。 每个嵌套的 list 对应一个嵌套的数组级别。

短 list 语法

PHP 7.1 引入了用于数组解构的更短的方括号语法。

short_syntax.php
<?php

$coordinates = [12.34, 56.78];

[$latitude, $longitude] = $coordinates;

echo "Lat: $latitude, Long: $longitude";

方括号语法的工作方式与 list 完全相同,但更简洁。 这是现代 PHP 代码中推荐的语法。

最佳实践

来源

PHP list() 文档

本教程涵盖了 PHP list 函数,并提供了实际示例,展示了在各种情况下进行数组解构。

作者

我叫 Jan Bodnar,是一位充满激情的程序员,拥有丰富的编程经验。 自 2007 年以来,我一直在撰写编程文章。 迄今为止,我撰写了超过 1,400 篇文章和 8 本电子书。 我拥有超过十年的编程教学经验。

列出 所有 PHP 数组函数