recherche

Maison  >  Questions et réponses  >  le corps du texte

Problèmes de fonction imbriquée PHP et de portée de fonction anonyme

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_u1582phpcn_u15822867 Il y a quelques jours711

répondre à tous(1)je répondrai

  • 高洛峰

    高洛峰2017-05-18 10:47:34

    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.

    répondre
    0
  • Annulerrépondre