簡體   English   中英

為什么這在 PHP 7.2 上給我一個語法錯誤而不是 PHP 7.4.5?

[英]Why is this giving me a syntax error on PHP 7.2 but not PHP 7.4.5?

我只是想確保我不會在生產中得到任何令人討厭的驚喜。 下面的這段代碼在使用 PHP 7.2.34 而不是在本地 (PHP 7.4.5) 的生產服務器上導致了語法錯誤,意外的“)”。

錯誤就在上載()的最后一個參數之后

    // 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 不會。

https://wiki.php.net/rfc/trailing-comma-function-calls

https://laravel-news.com/php-trailing-commas-functions

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM