php - 为什么这在 PHP 7.2 上给我一个语法错误,但在 PHP 7.4.5 上却没有?
问题描述
我只是想确保我不会在制作过程中遇到任何令人讨厌的意外。下面的这段代码在 PHP 7.2.34 的生产服务器上导致语法错误,意外的 ')' 但在本地 (PHP 7.4.5) 上没有。
错误就在 upload() 的最后一个参数之后
// array
$file_ids = $this->common->upload(
$folder_id,
$filenames,
(int) $invoice->projectid,
['file_attach'], // unexpected ')'
);
不得不将其更改为此,现在它可以工作了。
$proj_id = intval($invoice->projectid);
// array
$file_ids = $this->common->upload($folder_id, $filenames, $proj_id, ['file_attach']);
解决方案
PHP 7.3 首次允许在函数调用中使用尾随逗号。所以 7.2 会导致错误,但 7.4 不会。
推荐阅读
- ios - 可选类型的值必须解包为类型的值
- python-3.x - NOT NULL 约束失败:product_product.author_id
- windbg - 如何以编程方式引用 WinDbg 中的断点?
- android - 我可以对 ACTION_MEDIA_SCANNER_SCAN_FILE 意图使用什么权限?
- powershell - 尝试测试代码,不断得到“System.____comobject”而不是变量值
- google-apps-script - 如何自动将数据从 blob csv 文件导入工作表
- node.js - Express 和 Node Uncaught ReferenceError: require is not defined
- c - #define VAR {0} 有什么特殊含义吗?
- c - 稳健的增量 CRC32
- excel - VBA excel 图表和表格到 PowerPoint 特定页面