Take the State of PHP 2026 Survey →

Revisit trailing commas in function arguments View as Markdown

Withdrawn
Authors
Sammy Kaye Powers, me@sammyk.me
Date
2015-10-07
Version
0.1
Source
wiki.php.net/rfc/revisit-trailing-comma-function-args

Discussions on the mailing list

[RFC][DISCUSSION] Revisit trailing commas in function arguments
by Sammy Kaye Powers · 22 messages

RFC text

Copied from wiki.php.net, last synchronized Oct 13, 2026 11:53 UTC

Introduction

Arrays in PHP have long since supported trailing commas.

Trailing array commas

$foo = [
    'foo',
    'bar',
];

This makes for clean diffs and easy appending of new values in user-land.

Unfortunately, the argument list for function/method declarations and calls do not share the same luxury.

Declarations raise a parse error

// Parse error
function myFunc(
    $foo,
    $bar,
    ) {
  /* ... */
}

Calls raise a parse error

// Parse error
myFunc(
    $foo,
    $bar,
    );

Proposal

This RFC proposes allowing function/method declarations and calls to allow for trailing commas in order to:

  1. Offer a consistent API and match the existing array functionality.
  2. Make it easy to append new arguments in user-land.
  3. Have cleaner diffs (so only one line shows up as being modified when appending arguments instead of two).
  4. Match what HHVM did a while ago.

Backward Incompatible Changes

This change would have no breaking changes.

Proposed PHP Version

PHP 7.1

Proposed Voting Choices

Project requires a 2/3 majority.

Patches and Tests

The original patch by Sara Golemon.