RFC: Const array/string dereference


A little improvement to make things consistent.


Base on feature request: https://bugs.php.net/bug.php?id=60408:

Please add array constructor dereferencing support

like JavaScript, C# and all languages excluding PHP 5.4


 print(array('pa','th')[$i++]); // pa
 print(['wa','ss'][$i++]); // ss


I wrote a patch to make php support const array/string dereferencing. After the patch, the following script works:

echo array(1, 2, 3)[0]; //output 1
echo "foobar"[2]; //output o
echo "foobar"["foo"][0] // output f
echo [1,3,4][2]; //output 4


do you think it is okey to apply this to TRUNK(not 5.4)?
Real name yes no
crodas (crodas)  
dm (dm)  
irker (irker)  
jwage (jwage)  
kassner (kassner)  
klaussilveira (klaussilveira)  
kriscraig (kriscraig)  
stas (stas)  
tyrael (tyrael)  
weierophinney (weierophinney)  
Final result: 10 0
This poll has been closed.




  • 2011-11-30 Xinchen Hui: Initial RFC creation
  • 2011-12-13 Xinchen Hui: Start voting
  • 2012-04-13 Xinchen Hui: Update patch, fixed issue spot by Dmitry
  • 2012-04-13 Xinchen Hui: Close voting
  • 2012-04-17 Xinchen Hui: Committed && Close
rfc/constdereference.txt · Last modified: 2014/07/07 17:41 by ajf