Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Cas limites de parse_str()

<?php

parse_str('x=1&y.z=2&a b=3&c+d=4&e[=3', $x);
print_r($x);

parse_str() lit les variables de la chaîne de requête d’une URL et les convertit en tableau. Lorsque les noms de variables contiennent un point ., ce point est automatiquement converti en underscore.

Cela se produit avec le point, mais aussi avec d’autres caractères, tels que (espace), + (qui représente également un espace), et un [ ouvrant seul (lorsqu’il est complété par un fermant, cette variable devient un tableau).

Cela provient des versions précédentes de PHP, où ces variables finissaient par être converties en variables PHP. Or, les caractères listés sont interdits dans les noms de variables. Ce n’est plus un problème, car PHP évite désormais de créer des variables de cette façon pour des raisons de sécurité. Cependant, pour des raisons de compatibilité ascendante, ces conversions sont toujours en place.

See Also

PHP Features

Last updated: 11 October 2026