php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #13846 Patch: Use [ ] as shortcut for array()
Submitted: 2001-10-27 02:42 UTC Modified: 2001-10-29 02:14 UTC
From: z4k4ri4 at bigfoot dot com Assigned:
Status: Closed Package: Feature/Change Request
PHP Version: 4.0.6 OS: Any
Private report: No CVE-ID: None
 [2001-10-27 02:42 UTC] z4k4ri4 at bigfoot dot com
In my script I use a lot of nested array() or array() as
parameter. So the array() things start to get in the way.
I assume many PHP programmer feels the same thing.

We need a short version of array() construct, and I think
the [] is the best choice. It is used in python and ruby.

After a little bit trying I finally could make a patch and
make it work on my server.

I hope this patch will find its way to official php soon.

WARNING:
I'm new in this whole bison & C thing so I maybe making some
silly mistake.

--- php-4.0.6/Zend/zend_language_parser.y.zak	Sun May  6 21:36:25 2001
+++ php-4.0.6/Zend/zend_language_parser.y	Sat Oct 27 11:20:06 2001
@@ -481,6 +481,7 @@
 	|
'@' { zend_do_begin_silence(&$1 CLS_CC); } expr {
zend_do_end_silence(&$1 CLS_CC); $$ = $3; }
 	|
scalar
			{ $$ = $1; }
 	|
T_ARRAY '(' array_pair_list ')' { $$ = $3; }
+
|
'[' array_pair_list ']' { $$ = $2; }
 	|
'`' encaps_list '`'		{ zend_do_shell_exec(&$$, &$2 CLS_CC); }
 	|
T_PRINT expr  { zend_do_print(&$$, &$2 CLS_CC); }
 ;
@@ -533,6 +534,7 @@
 	|
'+' static_scalar	{ $$ = $1; }
 	|
'-' static_scalar	{ zval minus_one;  minus_one.type = IS_LONG;
minus_one.value.lval = -1;  mul_function(&$2.u.constant,
&$2.u.constant, &minus_one);  $$ = $2; }
 	|
T_ARRAY '(' static_array_pair_list ')' { $$ = $3;
$$.u.constant.type = IS_CONSTANT_ARRAY; }
+
|
'[' static_array_pair_list ']' { $$ = $2; $$.u.constant.type
= IS_CONSTANT_ARRAY; }
 ;
 
 

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-10-27 02:49 UTC] z4k4ri4 at bigfoot dot com
My browser mangling the patch see if these works

--- php-4.0.6/Zend/zend_language_parser.y.zak	Sun May  6 21:36:25 2001
+++ php-4.0.6/Zend/zend_language_parser.y	Sat Oct 27 11:20:06 2001
@@ -481,6 +481,7 @@
 	|	'@' { zend_do_begin_silence(&$1 CLS_CC); } expr { zend_do_end_silence(&$1 CLS_CC); $$ = $3; }
 	|	scalar				{ $$ = $1; }
 	|	T_ARRAY '(' array_pair_list ')' { $$ = $3; }
+	|	'[' array_pair_list ']' { $$ = $2; }
 	|	'`' encaps_list '`'		{ zend_do_shell_exec(&$$, &$2 CLS_CC); }
 	|	T_PRINT expr  { zend_do_print(&$$, &$2 CLS_CC); }
 ;
@@ -533,6 +534,7 @@
 	|	'+' static_scalar	{ $$ = $1; }
 	|	'-' static_scalar	{ zval minus_one;  minus_one.type = IS_LONG; minus_one.value.lval = -1;  mul_function(&$2.u.constant, &$2.u.constant, &minus_one);  $$ = $2; }
 	|	T_ARRAY '(' static_array_pair_list ')' { $$ = $3; $$.u.constant.type = IS_CONSTANT_ARRAY; }
+	|	'[' static_array_pair_list ']' { $$ = $2; $$.u.constant.type = IS_CONSTANT_ARRAY; }
 ;
 
 

 [2001-10-29 02:14 UTC] sniper@php.net
We are not going to make PHP as obscure as Perl is.

--Jani

 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Wed May 07 21:01:30 2025 UTC