Voici une RFC qui proposait de supprimer le support des nombres hexadécimaux dans certains contextes.

En effet, aujourd’hui, utiliser des nombres hexadécimaux dans une chaîne est supporté (ils sont reconnus comme des nombres) dans certains cas (is_numeric(), par exemple), mais pas d’autres (casts int et float, notamment).

Cette RFC proposait donc d’uniformiser les choses en supprimant le support des nombres hexadécimaux dans des chaînes de caractères là où ils sont aujourd’hui reconnus :

  • Fonction is_numeric()
  • Opérandes des opérateurs ==, +, -, *, /, %, **, ++ et --
  • Paramètres de fonctions internes convertis en entiers
  • Peut-être quelques autres cas rares.

Quelques exemples plus détaillés sont disponibles sur la page de la RFC.

Les votes ont été ouverts le 17 janvier 2015 pour être clôturés le 27 janvier 2015 et même si nous n’avons été que peu nombreux à participer à la discussion, nous avons posté favorablement sur internals@.
La proposition a été adoptée à l’unanimité (29 voix contre 0).