Reasons to deprecate curly braces syntax::
1. Two ways to do the same thing.
2. It is very rarely used nowadays.
3. It is almost not documented. There is only two short “NOTE” about
it.
4. Also, this syntax has reduced functionality. You can't use it for
pushing element into array “$arr{} = 1;”, creating array “$a={1,2};” or in
other similar cases.
5. Deprecation and following removal will free this syntax for other
features. For example: array/string slice, absolute offset access,
“windows” (like “slice” in GoLang), etc.
Proposal
https://wiki.php.net/rfc/deprecate_curly_braces_array_access
Patch diff
https://github.com/php/php-src/compare/PHP-7.4...rjhdby:deprecate_alternate_array_access
Migration script
https://github.com/rjhdby/php-src/blob/deprecate_alternate_array_access/convert_array_access_braces.php