recherche

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

J'ai écrit une variable globale PHP dans la perspective de thinkPHP3.2.3 et j'ai fait une découverte étonnante.

À l'aide du framework thinkPHP3.2.3, j'ai écrit un code très simple dans la vue. Le suffixe de ce fichier de vue est .html

<?php
    $x=10;
    $y=10;
    function add(){
        global $x,$y;
        $y=$x+$y;
    }
    add();
    echo $y;
?>

Le résultat de l'écho est 10. Je ne comprends pas. Le résultat devrait être 20. Je viens de l'écrire à nouveau si je n'y croyais pas, et c'était toujours 10. J'y ai réfléchi et je l'ai écrit dans un fichier php séparé, et le résultat était 20. Pourquoi est-ce? Les vues dans thinkPHP ne prennent-elles pas en charge la syntaxe PHP ? S'il vous plaît, donnez-moi quelques conseils !

黄舟黄舟2785 Il y a quelques jours620

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

  • 代言

    代言2017-06-08 11:03:45

    Évidemment, les $x, $y ici ne sont pas des variables globales.
    Donc les $x, $y globaux dans la fonction ne font pas référence aux x, y ci-dessus

    Si vous regardez le fichier modèle compilé, vous constaterez que ce code doit être inclus dans une fonction.

    répondre
    0
  • 大家讲道理

    大家讲道理2017-06-08 11:03:45

    Essayez-le

    <?php
        $x=10;
        $y=10;
        function add() use(&$x, &$y){
            $y=$x+$y;
        }
        add();
        echo $y;
    ?>

    répondre
    0
  • Annulerrépondre