Skip to content

list()

The PHP list Construct: A Comprehensive Guide

The list construct is used in PHP to unpack an array into variables. In this article, we will explore the syntax and usage of list in depth, and provide plenty of examples to help you master this important PHP feature.

Syntax

list is a language construct, not a function, so it does not require parentheses in modern PHP (though they are still widely used). Here is the basic syntax:

The PHP syntax of list

php
list($var1, $var2, $var3) = $myArray;

In this example, we use list to unpack values from the $myArray array into the $var1, $var2, and $var3 variables.

Examples

Let's look at some practical examples of how list can be used:

Examples of PHP list

php
<?php

// Example 1
$myArray = ["apple", "banana", "cherry"];
list($fruit1, $fruit2, $fruit3) = $myArray;
echo $fruit1 . ", " . $fruit2 . ", " . $fruit3 . PHP_EOL;

// Output: apple, banana, cherry

// Example 2
$myOtherArray = ["John", "Doe", "25"];
list($firstName, $lastName, $age) = $myOtherArray;
echo "Name: " . $firstName . " " . $lastName . ", Age: " . $age;

// Output: Name: John Doe, Age: 25

In these examples, we use list to unpack values from arrays into individual variables.

PHP 7.1+ Array Destructuring & Nested list

Since PHP 7.1, you can use square brackets [] instead of list(). The construct also supports nested destructuring and direct key assignment:

php
// Square bracket syntax (PHP 7.1+)
[$fruit1, $fruit2, $fruit3] = $myArray;

// Nested destructuring with key assignment
$data = ["user" => ["name" => "Alice", "age" => 30], "role" => "admin"];
list("user" => ["name" => $userName, "age" => $userAge], "role" => $userRole) = $data;
echo "$userName is $userAge years old and has the $userRole role.";

Benefits

Using list offers several practical advantages:

  • Improved code readability: Unpacking arrays into named variables makes the intent clearer than accessing elements by numeric index (e.g., $arr[0]).
  • Direct key assignment: You can assign values directly to specific array keys, automatically skipping unwanted indices.
  • Simplified data extraction: It streamlines extracting multiple values from functions that return arrays, such as explode(), preg_match(), or database result sets.

Conclusion

In conclusion, the list construct is a powerful tool for PHP developers looking to create more readable and maintainable code. It allows you to unpack arrays into individual variables, simplifying data extraction and improving code clarity. We hope this guide has been helpful, and we wish you the best of luck as you continue to develop your PHP skills.

Practice

Which of the following statements about the list() construct in PHP are correct?

Dual-run preview — compare with live Symfony routes.