所以我从我的办公室里遇到了这些PHP8代码(简化):

[, $x] = $y;

我也看到了另一种方式

[$x, ] = $y;

这些会做什么?如果我在Sandbox 中这样做,并事先给$y分配随机值,我不会得到$x的任何东西.我知道这不是badcode,因为PHPStorm验证了它.

我试过搜索它,但包括Stackoverflow在内的所有搜索引擎都会忽略逗号或[],所以我找不到答案.

推荐答案

$array = [10, 20, 30];

[$x, ] = $array;

echo $x;  // Output: 10

[, $x] = $array;

echo $x;  // Output: 20

[2 => $x] = $array;

echo $x;  // Output: 30

它被称为array destructuring.

Php相关问答推荐

在AJX请求中使用简写后,FormData出现非法调用错误

Postgrid Webhook不叫laravel

如何在搜索域名时重定向到登陆页?

将客户重定向到自定义感谢页后的空白页

根据WooCommerce购物车页面中的自定义 Select 添加费用

Laravel区分大小写搜索

为什么WooCommerce的动作钩子';woocommerce_checkout_update_order_review';包含旧信息?

htaccess 配置提供静态文件和动态文件

从 WooCommerce 购物车中删除总计部分,同时保留小计行

根据页面以及是否在促销,向 WooCommerce 中显示的价格添加前缀

使用 wp_footer 挂钩添加一些 CSS 不起作用

为什么 php 只能在我的 Nginx Web 服务器的某些目录中工作?

根据所选付款方式更改 WooCommerce 提交结帐按钮文本

使用其ID查询和捕获与订单相关的其他详细信息的shopware 6方法

WooCommerce checkout 流程中基于所选选项添加自定义费用

PHP header() 是否缓存重定向,如果是,如何防止它这样做?

带有 nginx 的 Symfony 不提供 .js 和 .css 文件

PHP 日期格式:ISO8601 与 ISO8601_EXPANDED

PHP 中的正则表达式,具有字符范围,但不包括特定字符

为什么 AJAX 请求没有通过 is_ajax_request() codeigniter 的条件?