Car*_*s2W 3 php arrays definition
所以我在我的办公室的 PHP8 代码上遇到了这些(简化的):
[, $x] = $y;
Run Code Online (Sandbox Code Playgroud)
我也看到了另一种方式
[$x, ] = $y;
Run Code Online (Sandbox Code Playgroud)
这些会做什么呢?如果我在沙箱中执行此操作并事先为 $y 分配随机值,则 $x 不会得到任何结果。我知道这不是坏代码,因为 PHPStorm 验证了它。
我尝试过搜索它,但是包括 Stackoverflow 在内的每个搜索引擎都会忽略逗号或 [],所以我无法得到答案。
这是解构赋值。左侧数组中的变量是从右侧数组的相应元素分配的。它相当于旧的list()作业。
您可以使用前后不带变量的逗号来指示分配时跳过的数组元素。因此:
[, $x] = $y;
Run Code Online (Sandbox Code Playgroud)
相当于
$x = $y[1];
Run Code Online (Sandbox Code Playgroud)
和
[$x, ] = $y;
Run Code Online (Sandbox Code Playgroud)
相当于
$x = $y[0];
Run Code Online (Sandbox Code Playgroud)
您通常不会使用此语法来分配单个变量,它对于分配多个变量最有用:
[$a, $b, , $c] = $y;
Run Code Online (Sandbox Code Playgroud)
这是一个快捷方式
$a = $y[0];
$b = $y[1];
$c = $y[3];
Run Code Online (Sandbox Code Playgroud)
列表末尾不需要逗号,但您可能会出于与在数组文字中包含逗号相同的原因而包含它们:它使添加其他元素变得更容易(特别是当您每行写入一个元素时) 。
| 归档时间: |
|
| 查看次数: |
58 次 |
| 最近记录: |