PHP语言的数组解构(Destructuring)

索引数组解构是按位置的,而关联数组解构是按命名的。

注意:解构语法是并行的。

1.索引数组解构

1.1用于变量赋值

//左侧数量等于右侧数量
[$a, $b] = [1, 2];
echo $a, $b;  // 1 2

//左侧数量小于右侧数量
//右侧多余的元素会被忽略
[$a, $b] = [1, 2, 3];
echo $a, $b;  // 1 2

//左侧数量大于右侧数量
//左侧多余的变量会报错
[$a, $b, $c] = [1, 2];
echo $a, $b, $c;  // 1 2 报错

左侧的变量还支持占位语法。

//左侧数量等于右侧数量
[$a, ] = [1, 2];
echo $a;  // 1

//左侧数量小于右侧数量
[$a, ] = [1, 2, 3];
echo $a;  // 1

//左侧数量大于右侧数量
[$a, ] = [1];
echo $a;  // 1

1.2用于函数形参

PHP 语言不支持用于函数形参。

2.关联数组解构

2.1用于变量赋值

//左侧数量等于右侧数量
['a' => $a, 'b' => $b] = ['a' => 1, 'b' => 2];
echo $a, $b;  // 1 2

//左侧数量小于右侧数量
//右侧多余的属性会被忽略
['a' => $a, 'b' => $b] = ['a' => 1, 'b' => 2, 'c' => 3];
echo $a, $b;  // 1 2

//左侧数量大于右侧数量
//左侧多余的变量会报错
['a' => $a, 'b' => $b, 'c' => $c] = ['a' => 1, 'b' => 2];
echo $a, $b, $c;  // 1 2 报错

2.2用于函数形参

PHP 语言不支持用于函数形参。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/experience/phpexp/38220.html

huoxiaoqiang的头像huoxiaoqiang

发表回复

登录后才能评论
分享本页
返回顶部