rfc:constdereference

RFC: Const array/string dereference

Introduction

A little improvement to make things consistent.

Proposal

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

<?php

 $i=0;
 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

Vote

do you think it is okey to apply this to TRUNK(not 5.4)?
Real name yes no
crodas (crodas)  
irker (irker)  
jwage (jwage)  
kassner (kassner)  
klaussilveira (klaussilveira)  
kriscraig (kriscraig)  
stas (stas)  
tyrael (tyrael)  
weierophinney (weierophinney)  
Count: 9 0

Patches

Tests

Changelog

  • 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: 2013/10/29 18:22 by nikic