Maison > Questions et réponses > le corps du texte
<?php $x = 5; $y = 10; function myTest() { $GLOBALS[ 'y' ] = $GLOBALS[ 'x' ] + $GLOBALS[ 'y' ]; } myTest(); echo $y; // 应该输出 15 ,但在run.php.cn输出为10 ?>
风中咏歌2020-03-28 16:56:05
Le PHP des éditeurs PHP en ligne suivants sont tous des versions de PHP7 ou supérieures, et les résultats en cours d'exécution sont tous 15
风中咏歌2020-03-27 22:06:38
Pour cette raison, je suis toujours sceptique. De cette façon, global aura des résultats de calcul différents selon la version de PHP, donc la compatibilité sera un peu mauvaise.
风中咏歌2020-03-27 22:01:03
J'ai trouvé la raison, voir le lien de ce site Web https://www.php.cn/php/php-variables.html Remarque : La valeur de sortie du code ci-dessus dans la version PHP5 est de 15 ; cependant, l'environnement d'instance en ligne du site Web PHP chinois est la version PHP7, la valeur de sortie doit donc être de 10 ; Étant donné que dans la dernière version de PHP7, le mécanisme de traitement des variables globales PHP a été modifié, le mot-clé global dans cette version ne peut faire référence qu'à des variables simples. Pour une introduction détaillée aux différences, veuillez consulter cet article : Quels sont les changements dans le mécanisme des variables globales sous PHP5 et PHP7 ? (Code test réel)
老洪2020-03-27 21:46:22
$GLOBAL['x'] signifie récupérer la valeur avec le nom de clé 'x' du tableau $GLOBAL. Question sur votre code, d'où vient ce tableau ?