Type et référence
<?php
function foo(int &$x) {
$x = "foo!";
}
$x = 1;
foo($x);
var_dump($x);
Le type d’un paramètre est vérifié au moment de l’appel. Ensuite, le type de l’argument n’est plus contraint, et l’argument se comporte comme une variable locale : son type peut changer.
Lorsqu’on type un paramètre et qu’on le passe par référence, le type est vérifié au moment de l’appel, puis n’est plus jamais vérifié. Cela signifie que la variable peut changer de type et, par conséquent, la valeur d’origine peut également se retrouver avec un type différent de celui attendu.
Si vous souhaitez un typage persistant, utilisez une propriété : son type est vérifié à chaque étape de sa vie.
See Also
PHP Features
Last updated: 11 October 2026