这两段代码运行结果为啥不一样那,还有请教global原理。
global $var1,$var2;
$var1 = 1;
$var2 = 2;
function test(){
$var2 = &$var1;
}
test();
echo $var2; global $var1,$var2;
$var1 = 1;
$var2 = 2;
$var2 = &$var1;
echo $var2;
global $var1,$var2;
$var1 = 1;
$var2 = 2;
function test(){
$var2 = &$var1;
}
test();
echo $var2; global $var1,$var2;
$var1 = 1;
$var2 = 2;
$var2 = &$var1;
echo $var2;
$var1 = 1;
$var2 = 2;
function test(){
$var2 = &$var1;
echo $var2;
}
test();
$var1 = 1;
$var2 = 2;
function test($var1,$var2){
$var2 = &$var1;
echo $var2;
}
test();
这样改也是错的。
第一个。要在test里global
$var1 = 1;
$var2 = 2;
function test(){
global $var1,$var2;
$var2 = $var1;
echo $var2;
}
test();
错了 global在哪都是一个结果
<?php
global $var1,$var2;
$var1 = 1;
$var2 = 2;
function test(){
global $var1,$var2;
$var2 = &$var1;
echo $var2;
}
test();
echo $var2;网上看到这句话,应该是对的:
global $var; is equivalent to $var =& $GLOBALS['var'].