J'ai écrit une variable globale PHP dans la perspective de thinkPHP3.2.3 et j'ai fait une découverte étonnante.
黄舟
黄舟 2017-06-08 11:01:45
0
2
645

À 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 !

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

répondre à tous(2)
代言

É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.

大家讲道理

Essayez-le

<?php
    $x=10;
    $y=10;
    function add() use(&$x, &$y){
        $y=$x+$y;
    }
    add();
    echo $y;
?>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal