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 7.1+ 中使用方括号代替
list
。 - 错误处理: 确保数组有足够的元素以避免通知。
- 可读性: 在提高代码清晰度时使用解构。
- 类型安全: 使用类型化属性时添加类型提示。
来源
本教程涵盖了 PHP list
函数,并提供了实际示例,展示了在各种情况下进行数组解构。
作者
列出 所有 PHP 数组函数。