einord
Estaba jugando con funciones anónimas en PHP y me di cuenta de que no parecen alcanzar variables fuera de ellas. ¿Hay alguna forma de solucionar este problema?
Ejemplo:
$variable = "nothing";
functionName($someArgument, function() {
$variable = "something";
});
echo $variable; //output: "nothing"
Esto generará “nada”. ¿Hay alguna forma de que la función anónima pueda acceder a la $variable
?
apodo
Sí, usar un cierre:
functionName($someArgument, function() use(&$variable) {
$variable = "something";
});
Tenga en cuenta que para poder modificar $variable
y recuperar el valor modificado fuera del alcance de la función anónima, se debe hacer referencia en el cierre mediante &
.
¿Ha sido útil esta solución?
Tu feedback nos ayuda a saber si la solución es correcta y está funcionando. De esta manera podemos revisar y corregir el contenido.