Did you know that {$array} is tokenized as
<?php
array (
0 => 'T_CURLY_OPEN',
1 => '{',
),
array (
0 => 'T_VARIABLE',
1 => '$array',
),
'}',
?>
however ${array} gets parsed into
<?php
array (
0 => 'T_DOLLAR_OPEN_CURLY_BRACES',
1 => '${',
),
array (
0 => 'T_STRING_VARNAME',
1 => 'array',
),
'}',
?>