Le transtypage est très fort
<?php
const int = 3;
var_dump(int);
?>
Le code ci-dessous génère une erreur fatale, lors de l’analyse syntaxique. PHP identifie trop tôt l’opérateur de transtypage (int) et échoue à reconnaître l’appel à la fonction var_dump().
Il est possible de créer une constante appelée int, mais il n’est pas possible de la placer entre parenthèses, même avec des espaces. PHP la confond toujours avec l’opérateur de transtypage.
Plus tard, bool, float, string, array, object échouent tous à l’analyse pour les mêmes raisons. C’est également le cas pour unset, bien que cet opérateur ne soit plus supporté. C’est aussi le cas pour boolean et integer, bien que PHP se plaigne du nom court de l’opérateur.
Ce problème existe dans PHP depuis PHP 4.
See Also
- Type Juggling
- Example cast with int [Try me]
PHP Error Messages
PHP Features
Last updated: 11 October 2026