我只是想确保我不会在制作过程中遇到任何令人讨厌的意外。下面的这段代码在 PHP 7.2.34 的生产服务器上导致了语法错误,意外的“)”,但在本地 (PHP 7.4.5) 上却没有。
错误就在 upload() 的最后一个参数之后
// array
$file_ids = $this->common->upload(
$folder_id,
$filenames,
(int) $invoice->projectid,
['file_attach'], // unexpected ')'
);
Run Code Online (Sandbox Code Playgroud)
必须将其更改为这个,现在它可以工作了。
$proj_id = intval($invoice->projectid);
// array
$file_ids = $this->common->upload($folder_id, $filenames, $proj_id, ['file_attach']);
Run Code Online (Sandbox Code Playgroud)
PHP 7.3 首次允许在函数调用中使用尾随逗号。所以 7.2 会导致错误,但 7.4 不会。
https://wiki.php.net/rfc/trailing-comma-function-calls
https://laravel-news.com/php-trailing-commas-functions