function a()
{
$demi = '局部变量';
b($demi);
}
function b($args)
{
echo $args;
}
a();
Toutes les fonctions et classes en PHP ont une portée globale et peuvent être définies au sein d'une fonction et appelées à l'extérieur, et vice versa.
Pourquoi la fonction b peut-elle obtenir les variables locales de la fonction a en passant des paramètres ?
function tesxt()
{
$var = 10;
$echonumber = function($num) {
echo $num;
};
$echonumber($var);
}
tesxt();
De même, pourquoi les fonctions anonymes obtiennent-elles également des variables de fonctions externes via le passage de paramètres ?
C’est effectivement le cas. Lorsque vous appelez une fonction, le paramètre que vous transmettez est en fait une copie et la valeur est copiée, ce qui est équivalent à une autre variable et n'a aucune relation.
Il en va de même pour les fonctions anonymes. Mais si vous souhaitez utiliser des variables externes dans des fonctions anonymes, elles ne sont pas accessibles.