Summary: in this tutorial, you’ll learn how to use the PHP list syntax to assign multiple variables in one operation.
Introduction to the PHP list syntax
Suppose you have an array that contains two numbers:
<?php
$prices = [100, 0.1];
Code language: PHP (php)
To assign each element of the $prices
array to variables, you’ll do it like this:
<?php
$pices = [100, 0.1];
$buy_price = $prices[0];
$tax = $price[1];
Code language: PHP (php)
The code assigns the first element and second element of the array $prices
to $buy_price
and $tax
variables respectively. But you need two assignments to assign two two array elements to two variables.
PHP provides the list()
construct that assigns the elements of an array to a list of variables in one assignment:
list(var1, var2, ...) = $array;
Code language: PHP (php)
For example:
<?php
$prices = [100, 0.1];
list($buy_price, $tax) = $prices;
var_dump( $buy_price, $tax );
Code language: PHP (php)
Output:
int(100)
float(0.1)
Code language: CSS (css)
In this example, the list assigns the first element of the $prices array to the $buy_price variable and the second element of the $price
array to the $tax
variable.
Note that like array()
, list()
is not a function but a language construct.
PHP list examples
Let’s take some examples of using the list construct.
1) Using a list to skip array elements
The following example uses the list to assign the first and the third element to variables. It skips the second element:
<?php
$prices = [100, 0.1, 0.05];
list($buy_price, , $discount) = $prices;
echo "The price is $buy_price with the discount of $discount";
Code language: PHP (php)
Output:
The price is 100 with the discount of 0.05
Code language: JavaScript (javascript)
2) Using the nested list to assign variables
The following example uses the nested list to assign the array’s elements to the variables:
<?php
$elements = ['body', ['white','blue']];
list($element, list($bgcolor, $color)) = $elements;
var_dump($element, $bgcolor, $color);
Code language: PHP (php)
Output:
string(4) "body"
string(5) "white"
string(4) "blue"
Code language: JavaScript (javascript)
3) Using a PHP list with an associative array
Starting from PHP 7.1.0, you can use the list construct to assign elements of an associative array to variables. For example:
<?php
$person = [
'first_name' => 'John',
'last_name' => 'Doe',
'age' => 25
];
list(
'first_name' => $first_name,
'last_name' => $last_name,
'age' => $age) = $person;
var_dump($first_name, $last_name, $age);
Code language: PHP (php)
Output:
string(4) "John"
string(3) "Doe"
int(25)
Code language: JavaScript (javascript)
Summary
- Use PHP
list()
construct to assign multiple variables in one operation.