Problèmes de fonction imbriquée PHP et de portée de fonction anonyme
phpcn_u1582
phpcn_u1582 2017-05-18 10:45:34
0
1
627
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 ?

phpcn_u1582
phpcn_u1582

répondre à tous(1)
小葫芦

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.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal