Maison > Questions et réponses > le corps du texte
À 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 !
代言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.
大家讲道理2017-06-08 11:03:45
Essayez-le
<?php
$x=10;
$y=10;
function add() use(&$x, &$y){
$y=$x+$y;
}
add();
echo $y;
?>