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  
dm  
irker  
jwage  
kassner  
klaussilveira  
kriscraig  
stas  
tyrael  
weierophinney  
Final result: 10 0
This poll has been closed.

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: by 127.0.0.1