|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2014-02-05 20:31 UTC] nikic@php.net
-Status: Open
+Status: Not a bug
[2014-02-05 20:31 UTC] nikic@php.net
[2014-02-05 20:51 UTC] bishop@php.net
[2014-02-05 20:58 UTC] nikic@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Nov 05 13:00:01 2025 UTC |
Description: ------------ token_get_all() identifies the start of an array using array () syntax with T_ARRAY. I expected token_get_all() to do the same for arrays using the new bracket [] syntax. Instead, token_get_all() ignores bracket style array notation altogether. This means that anyone relying on T_ARRAY parsing will not be able to see the new array syntax notation. Test script: --------------- <?php array_map( function ($string) { array_map( function ($token) { if (is_array($token)) { echo token_name($token[0]) . ', '; } }, token_get_all($string) ); echo PHP_EOL; }, array ('<?php $a = array (1);', '<?php $a = [1]') ); Expected result: ---------------- T_OPEN_TAG, T_VARIABLE, T_WHITESPACE, T_WHITESPACE, T_ARRAY, T_WHITESPACE, T_LNUMBER, T_OPEN_TAG, T_VARIABLE, T_WHITESPACE, T_WHITESPACE, T_ARRAY, T_WHITESPACE, T_LNUMBER, Actual result: -------------- T_OPEN_TAG, T_VARIABLE, T_WHITESPACE, T_WHITESPACE, T_ARRAY, T_WHITESPACE, T_LNUMBER, T_OPEN_TAG, T_VARIABLE, T_WHITESPACE, T_WHITESPACE, T_LNUMBER,