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

Le résultat de l'exécution du programme PHP http://run.php.cn/online est incorrect

	<?php
	$x = 5;
	$y = 10;

	function myTest() {
		$GLOBALS[ 'y' ] = $GLOBALS[ 'x' ] + $GLOBALS[ 'y' ];
	}

	myTest();
	echo $y; // 应该输出 15 ,但在run.php.cn输出为10
	?>

风中咏歌风中咏歌1644 Il y a quelques jours1032

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

  • 风中咏歌

    风中咏歌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

    c.runoob.com网.jpg

    c.runoob.com网运行结果.jpg

    it1352.com网.jpg

    it1352.com网运行结果.jpg

    tool.lu网.jpg

    tool.lu网运行结果.jpg

    répondre
    0
  • 风中咏歌

    风中咏歌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.

    répondre
    0
  • 风中咏歌

    风中咏歌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)

    répondre
    0
  • 老洪

    老洪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 ?

    répondre
    0
  • Annulerrépondre