Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:5198 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 30173 invoked by uid 1010); 5 Nov 2003 09:38:56 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 30139 invoked by uid 1007); 5 Nov 2003 09:38:56 -0000 Message-ID: <20031105093855.30136.qmail@pb1.pair.com> To: internals@lists.php.net References: <20031104233306.34859.qmail@pb1.pair.com> <3FA8BC03.9050104@leetspeak.org> Date: Wed, 5 Nov 2003 11:48:10 +0200 Lines: 57 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4927.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4927.1200 X-Posted-By: 212.116.131.82 Subject: Re: [PHP-DEV] Proposal: Array syntax From: kouber@php.net ("Kouber Saparev") Your idea is even cooler...;) I would like to have these in PHP. Kouber "Michael Walter" wrote in message news:3FA8BC03.9050104@leetspeak.org... > Very cool. > > How about supporting .. syntax, btw. as in [1..3] or ["a".."z"]? Might > no be the worth, just thinking out loud ;) > > Christian Schneider wrote: > > I propose to add an alternative (backward compatible) short array > > creation syntax: > > $a = [ 1, 2, 3 ]; and $a = [ 'a' => 42, 'b' => "foo" ]; > > > > It can also be used in function calls: > > img(['src' => "logo.gif", 'alt' => "Logo"]); > > > > Reason behind this change: Arrays are used a lot and should therefore > > have as little syntactic overhead as possible. And I think the short > > syntax is also easier to read and write. > > > > A patch for the parser is trivial and is attached for Zend2. > > > > Note: I checked the newsgroup archive but couldn't find a discussion > > about this. After not hearing back about my proposed enhancement to > > debug_backtrace() and the dangling comma for function call parameters > > being rejected I wonder if I'm using the right mailing list for this :-) > > > > - Chris > > > > > > ------------------------------------------------------------------------ > > > > Index: Zend/zend_language_parser.y > > =================================================================== > > RCS file: /repository/ZendEngine2/zend_language_parser.y,v > > retrieving revision 1.127 > > diff -u -r1.127 zend_language_parser.y > > --- Zend/zend_language_parser.y 19 Oct 2003 08:38:48 -0000 1.127 > > +++ Zend/zend_language_parser.y 4 Nov 2003 23:32:12 -0000 > > @@ -581,6 +581,7 @@ > > | '@' { zend_do_begin_silence(&$1 TSRMLS_CC); } expr zend_do_end_silence(&$1 TSRMLS_CC); $$ = $3; } > > | scalar { $$ = $1; } > > | T_ARRAY '(' array_pair_list ')' { $$ = $3; } > > + | '[' array_pair_list ']' { $$ = $2; } > > | '`' encaps_list '`' { zend_do_shell_exec(&$$, &$2 TSRMLS_CC); } > > | T_PRINT expr { zend_do_print(&$$, &$2 TSRMLS_CC); } > > ; > > > >