DateTime::createFromImmutable() a désormais un type de retour provisoire static, auparavant c'était DateTime.
DateTimeImmutable::createFromMutable() a désormais un type de retour provisoire static, auparavant c'était DateTimeImmutable.
Les symboles numériques dans les formats relatifs
n'acceptent plus les signes multiples, par exemple +-2
.
L'extension ODBC échappe désormais le nom d'utilisateur et le mot de passe dans le cas où une chaîne de connexion et un nom d'utilisateur/mot de passe sont transmis, et que la chaîne doit être ajoutée. Auparavant, les valeurs utilisateur contenant des valeurs nécessitant un échappement pouvaient créer une chaîne de connexion malformée ou injecter des valeurs à partir de données fournies par l'utilisateur. Les règles d'échappement devraient être identiques au comportement de DbConnectionOptions dans la BCL .NET.
L'extension PDO_ODBC échappe également le nom d'utilisateur et le mot de passe lorsqu'une chaîne de connexion est transmise. Voir la modification de l'extension ODBC pour plus de détails.
glob() retourne désormais un tableau vide si tous les chemins d'accès sont
restreints par open_basedir.
Auparavant, elle retournait false
.
De plus, un avertissement est désormais émis même si seulement quelques chemins sont restreints par
open_basedir.
FilesystemIterator::__construct(): antérieur à PHP 8.2.0,
le constante FilesystemIterator::SKIP_DOTS
était toujours définie
et ne pouvait pas être désactivée. Afin de conserver le comportement précédent, la constante
doit être explicitement définie lors de l'utilisation du paramètre flags
.
La valeur par défaut du paramètre flags
n'a pas été modifiée.
strtolower(),
strtoupper(),
stristr(),
stripos(),
strripos(),
lcfirst(),
ucfirst(),
ucwords(),
et str_ireplace() ne sont plus sensibles à la locale.
Elles effectuent désormais une conversion ASCII de la casse, comme si la locale était "C".
Des versions localisées de ces fonctions sont disponibles dans l'extension MBString.
De plus, array_change_key_case() et le tri avec
SORT_FLAG_CASE
utilisent désormais également la conversion ASCII.
str_split() retourne désormais un tableau vide pour une chaîne de caractères vide. Auparavant, elle retournait un tableau avec une seule chaîne vide comme entrée. mb_str_split() n'est pas affectée par ce changement car elle se comportait déjà de la sorte.
ksort() et krsort() font désormais des comparaisons numériques de chaînes de caractères
sous SORT_REGULAR
en utilisant les règles standards de PHP 8.
var_export() n'omet plus le backslash de tête pour les classes exportées, c'est-à-dire qu'elles sont désormais pleinement qualifiées.
Les méthodes suivantes enforcent désormais leur signature :
SplFileObject::hasChildren() a désormais un type de retour provisoire false, auparavant c'était bool.
SplFileObject::getChildren() a désormais un type de retour provisoire null, auparavant c'était ?RecursiveIterator.
GlobIterator retourne désormais un tableau vide si tous les chemins d'accès
sont restreints par open_basedir.
Auparavant, elle retournait false
.
De plus, un avertissement est désormais émis même si seulement certains chemins sont restreints par
open_basedir.