更改 php 中的全局变量值
changing a global variable value in php
我正在学习 php,但我只是对 w3schools 的一些教授感到困惑!
<?php
$x = 5;
$y = 10;
function myTest() {
global $x, $y;
$y = $x + $y;
}
myTest();
echo $y; // outputs 15
?>
在这段代码中,它表示输出将为 15,因为我们在 myTest 函数中获得了 "y" 变量值!但是 php 如何知道 $y = $x + $y;
中的 "y" 变量是全局变量还是新变量?!
$y
是 myTest()
函数中的全局函数,正如您声明的那样:
global $x, $y;
所以里面 myTest()
:
global $x, $y;//$x=5 and $y=10
$y = $x+$y; // value of $y will be over written by (10+5) and it will become 15
只是为了更清楚你的困惑:
function myTest() {
$y = 200; //local $y
echo $y; //200
global $x, $y;//now global $y will overwrite local $y
$y = $x + $y;
echo $y; //15
}
全局$y
和$y = $x + $y
产生的$y
是同一个变量。 global
没有定义不同的变量,它定义了变量的 'scope' ,即它可以在脚本中访问的位置。所以$y = $x + $y
改变了全局变量的值。
例如,如果您像这样重写函数:
function myTest() {
$x, $y;
}
$x
和 $y
将与之前定义的变量不同,因为您没有将它们定义为全局变量。
我正在学习 php,但我只是对 w3schools 的一些教授感到困惑!
<?php
$x = 5;
$y = 10;
function myTest() {
global $x, $y;
$y = $x + $y;
}
myTest();
echo $y; // outputs 15
?>
在这段代码中,它表示输出将为 15,因为我们在 myTest 函数中获得了 "y" 变量值!但是 php 如何知道 $y = $x + $y;
中的 "y" 变量是全局变量还是新变量?!
$y
是 myTest()
函数中的全局函数,正如您声明的那样:
global $x, $y;
所以里面 myTest()
:
global $x, $y;//$x=5 and $y=10
$y = $x+$y; // value of $y will be over written by (10+5) and it will become 15
只是为了更清楚你的困惑:
function myTest() {
$y = 200; //local $y
echo $y; //200
global $x, $y;//now global $y will overwrite local $y
$y = $x + $y;
echo $y; //15
}
全局$y
和$y = $x + $y
产生的$y
是同一个变量。 global
没有定义不同的变量,它定义了变量的 'scope' ,即它可以在脚本中访问的位置。所以$y = $x + $y
改变了全局变量的值。
例如,如果您像这样重写函数:
function myTest() {
$x, $y;
}
$x
和 $y
将与之前定义的变量不同,因为您没有将它们定义为全局变量。