Création de variable
<?php
$f = function () use (&$a) { $a = [1]; };
var_dump($a);
$x = new class ($c) { function __construct(&$d) { $d = []; } };
var_dump($c);
Lors de la définition d’une closure, les variables lexicales (dans la clause use) sont créées immédiatement, avec la valeur par défaut null. La closure est exécutée plus tard, et c’est alors que les valeurs des variables lexicales sont modifiées.
Lors de la création d’un objet anonyme, le constructeur est immédiatement exécuté : ainsi, l’argument avec référence est créé, puis initialisé avec [] et immédiatement disponible.
See Also
- Create variables with a closure [Try me]
PHP Features
Last updated: 11 October 2026