📜  php 解构关联数组 - PHP (1)

📅  最后修改于: 2023-12-03 15:33:39.317000             🧑  作者: Mango

PHP 解构关联数组

在 PHP 中,可以使用解构(destructuring)语法来方便地获取关联数组中的值并进行赋值操作。本文将介绍如何使用 PHP 解构关联数组。

基本语法

在 PHP 7.1 及以上版本中,可以使用如下语法来解构关联数组:

$array = ['name' => 'John', 'age' => 30];
['name' => $name, 'age' => $age] = $array;

在上述示例中,我们定义了一个关联数组 $array ,其中包含了两个键值对,分别是 'name' => 'John''age' => 30。然后,我们使用解构语法对 $array 进行解构,将其键 nameage 分别赋给变量 $name$age

需要注意的是,解构语法中需要使用方括号([])来包裹键名和变量名。

如果关联数组中的某个键不存在,那么使用上述语法时,该键对应的变量将会被赋值为 null。例如:

$array = ['name' => 'John'];
['name' => $name, 'age' => $age] = $array;
echo $name; // 输出:John
echo $age; // 输出:

上述示例中,由于 $array 中没有键名为 age 的键值对,因此 $age 变量被赋值为 null

使用通配符

除了指定每个键名对应的变量名之外,也可以使用通配符(*)来表示“其他所有键名”。例如:

$array = ['name' => 'John', 'age' => 30, 'email' => 'john@example.com'];
['name' => $name, ...$others] = $array;
print_r($others);

在上述示例中,我们通过在变量名前使用三个点号(...)来指定使用通配符,将除了 name 键之外的其他所有键值对组成一个新数组赋值给 $others 变量。执行上述代码将会输出:

Array
(
    [age] => 30
    [email] => john@example.com
)
小结

本文介绍了如何使用 PHP 解构关联数组。可以通过指定键名和变量名来方便地获取关联数组中的值,并使用通配符来获取其他所有键值对。