Hi there, I have a proposal for a shorthand notation of associative arrays borrowed from another language: :$foo would be equivalent to 'foo' => $foo and would work with array, list or []
Motivation behind it, maybe someone else finds more good uses: 1) Emulating named parameters with associative arrays like html::img([ 'src' => $src, 'alt' => $alt ]); could be written as html::img([ :$src, :$alt ]); which encourages consistent naming of variables and parameters 2) Simplifying list destructuring with non-integer keys, example taking from http://php.net/manual/en/migration71.new-features.php#migration71.new-features.support-for-keys-in-list foreach ($data as ["id" => $id, "name" => $name]) { becomes foreach ($data as [ :$id, :$name ]) { which reduces redundancy. I implemented a minimal patch (2 lines are added to the parser) to implement this which you can find at https://cschneid.com/php/php7_2/assoc_array_shorthand.patch What do you think, is this worth an RFC? I hope I didn't miss an existing one :-) Regards, - Chris -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php