php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #64176 functions calls should accept trailing ,
Submitted: 2013-02-08 21:38 UTC Modified: 2021-02-08 14:18 UTC
Votes:2
Avg. Score:4.0 ± 0.0
Reproduced:2 of 2 (100.0%)
Same Version:0 (0.0%)
Same OS:1 (50.0%)
From: php at paulisageek dot com Assigned: cmb (profile)
Status: Closed Package: Scripting Engine problem
PHP Version: 5.4Git-2013-02-08 (Git) OS: All
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
MUST BE VALID
Solve the problem:
50 - 37 = ?
Subscribe to this entry?

 
 [2013-02-08 21:38 UTC] php at paulisageek dot com
Description:
------------
In our code we require everyone to put a trailing , in array declarations so that 
blame stays clean. Like when:

$foo = array(
  1,
)

becomes

$foo = array(
  1,
  2,
)

Then only 1 line has changed. But for function calls, when

$foo = foo(
  1
)

becomes

$foo = foo(
  1,
  2
)

now 2 lines blame to you.

Allowing the same syntax for function calls as array creation would be great.

Test script:
---------------
<?php
function id($x) { return $x; }

id(1,);

Expected result:
----------------
It runs.

Actual result:
--------------
Fatal error: syntax error, unexpected ')'

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2013-02-21 05:36 UTC] laruence@php.net
for the record, here comes a RFC by Sara:
https://wiki.php.net/rfc/trailing-comma-function-args
 [2018-10-22 09:48 UTC] jean dot claveau at gmail dot com
Not only function calls could work this way for a smoother workflow, methods and functions definitions also :

function my_funtion($param1, $param2,)
{
    // ...
}

Especially with a lot of parameters :

function my_funtion(
   $param1, 
   $param2,
   ...,
   $paramN,
) {
    // ...
}
 [2018-10-22 09:50 UTC] spam2 at rhsoft dot net
https://ayesh.me/Upgrade-PHP-7.3#caller-trailing-comma
 [2021-02-08 14:18 UTC] cmb@php.net
-Status: Open +Status: Closed -Package: Unknown/Other Function +Package: Scripting Engine problem -Assigned To: +Assigned To: cmb
 [2021-02-08 14:18 UTC] cmb@php.net
Indeed, trailing commas in function calls are permissible as of
PHP 7.3.0[1].  There are also permissible in method and function
definitions as of PHP 8.0.0[2].

[1] <https://wiki.php.net/rfc/trailing-comma-function-calls>
[2] <https://wiki.php.net/rfc/trailing_comma_in_parameter_list>
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Apr 18 04:01:27 2024 UTC