关于在函数内使用引用变量的问题。(很奇怪) $Cookie = $HTTP_COOKIE_VARS; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 xuzuning(唠叨) : 这种方法当然可以了。请看请我的问题-------如何在函数中将两个全局变量引用? 我再举个例子吧。<?php$aa = 'aa';$bb = 'bb';function test(){ global $aa, $bb; $aa = &$bb;}test();print $aa;?>这段代码打印出来的结果是 "aa".也就是说 test()里$aa = &$bb;语句没有起作用。就是这个意思了。我知道写成 $aa = $bb;的方式可以。但是$bb这个变量非常大,所以想用引用的方式给$aa付值。请问有什么办法? 举例说明如下:<?php$aa = 'aa';$bb = 'bb';$cc = 'cc';//当用 global 声明一个变量时实际上建立了一个到全局变量的引用。function test(){ global $aa, $bb; //此处的 $aa,$bb 并非全局变量 $aa,$bb 本身, //而是分别指向全局变量 $aa,$bb 的一个应用. unset ($aa); //仅销毁了指向全局变量 $aa 的一个应用.并不是销毁了 //全局变量 $aa. unset ($bb); //仅销毁了指向全局变量 $bb 的一个应用.并不是销毁了 //全局变量 $bb.}test();print "变量\$aa=".$aa."<br>";print "变量\$bb=".$bb."<br><br>";/*执行结果:变量$aa=aa变量$bb=bb*/function test1(){ //global $aa, $bb; //分别建立了一个指向全局变量 $aa,$bb 的一个应用. $aa = & $GLOBALS['aa']; //等同于 global $aa.即建立了一个到全局变量 $aa 的引用 $aa. $bb = & $GLOBALS['bb']; //等同于 global $bb.即建立了一个到全局变量 $bb 的引用 $bb. unset ($aa); //仅销毁了指向全局变量 $aa 的一个应用. unset ($bb); //仅销毁了指向全局变量 $bb 的一个应用.}test1();print "变量\$aa=".$aa."<br>";print "变量\$bb=".$bb."<br><br>";/*执行结果:变量$aa=aa变量$bb=bb*///function test2(){ global $aa; //等同于 $aa = & $GLOBALS['aa']; //建立了到全局变量 $aa 的一个引用 $aa. $bb = & $GLOBALS['bb']; //等同于 global $bb; //建立了到全局变量 $bb 的一个引用 $bb. //unset ($aa); //有兴趣的话测试一下这条语句. //print "应用\$aa=".$aa."<br><br>"; //print "变量\$aa=".$GLOBALS['aa']."<br><br>"; $aa = $bb; //将应用 $bb 指向的全局变量 $bb 的值赋给了 //应用 $aa 指向的全局变量 $aa. unset ($aa,$bb); //销毁了应用 $aa,$bb ,全局变量依然存在, //且全局变量$aa 的值已通过应用传递发生了变化.}test2();print "变量\$aa=".$aa."<br>";print "变量\$bb=".$bb."<br><br>";/*执行结果:变量$aa=bb变量$bb=bb*/function test3(){ global $aa, $bb; unset ($GLOBALS['aa']); //真正销毁了全局变量 $aa. unset ($GLOBALS['bb']); //真正销毁了全局变量 $bb. $aa = $GLOBALS['cc']; //应用 $aa 重新指向全局变量 $cc. print "应用\$aa=".$aa."<br>";}test3();print "变量\$aa=".$aa."<br>";print "变量\$bb=".$bb."<br><br>";/*执行结果:应用$aa=cc变量$aa=变量$bb=*/?>因此,xuzuning(唠叨)的方法是正确的. http://www.eaoo.com/design/list.asp?classid=2&Nclassid=9 php编程 网页中嵌入asf视频 求助 服务器的安全维护技巧五大招 谁帮我修改一下下面的代码。 文件读取?? smarty 与fckeditor 相互结合更新问题,大家帮助我看下 急聘php开发 新闻关键字问题,高分 奇怪了!PC和安卓正常,就只有苹果IOS9总提示文件格式错误! php删除表单指定行 在REDHAT 8下配置MYSQL时出现的问题. 我的php什么会把post 过来的变量自动转义?
请看请我的问题-------如何在函数中将两个全局变量引用?
$aa = 'aa';
$bb = 'bb';
function test()
{
global $aa, $bb;
$aa = &$bb;
}
test();
print $aa;
?>这段代码打印出来的结果是 "aa".
也就是说 test()里$aa = &$bb;语句没有起作用。就是这个意思了。
我知道写成 $aa = $bb;的方式可以。但是$bb这个变量非常大,所以想用引用的方式给$aa付值。请问有什么办法?
$aa = 'aa';
$bb = 'bb';
$cc = 'cc';//当用 global 声明一个变量时实际上建立了一个到全局变量的引用。
function test()
{
global $aa, $bb; //此处的 $aa,$bb 并非全局变量 $aa,$bb 本身,
//而是分别指向全局变量 $aa,$bb 的一个应用.
unset ($aa); //仅销毁了指向全局变量 $aa 的一个应用.并不是销毁了
//全局变量 $aa.
unset ($bb); //仅销毁了指向全局变量 $bb 的一个应用.并不是销毁了
//全局变量 $bb.
}
test();
print "变量\$aa=".$aa."<br>";
print "变量\$bb=".$bb."<br><br>";
/*执行结果:
变量$aa=aa
变量$bb=bb
*/function test1()
{
//global $aa, $bb; //分别建立了一个指向全局变量 $aa,$bb 的一个应用.
$aa = & $GLOBALS['aa']; //等同于 global $aa.即建立了一个到全局变量 $aa 的引用 $aa.
$bb = & $GLOBALS['bb']; //等同于 global $bb.即建立了一个到全局变量 $bb 的引用 $bb.
unset ($aa); //仅销毁了指向全局变量 $aa 的一个应用.
unset ($bb); //仅销毁了指向全局变量 $bb 的一个应用.
}
test1();
print "变量\$aa=".$aa."<br>";
print "变量\$bb=".$bb."<br><br>";
/*执行结果:
变量$aa=aa
变量$bb=bb
*///
function test2()
{
global $aa; //等同于 $aa = & $GLOBALS['aa'];
//建立了到全局变量 $aa 的一个引用 $aa.
$bb = & $GLOBALS['bb']; //等同于 global $bb;
//建立了到全局变量 $bb 的一个引用 $bb.
//unset ($aa); //有兴趣的话测试一下这条语句.
//print "应用\$aa=".$aa."<br><br>";
//print "变量\$aa=".$GLOBALS['aa']."<br><br>";
$aa = $bb; //将应用 $bb 指向的全局变量 $bb 的值赋给了
//应用 $aa 指向的全局变量 $aa.
unset ($aa,$bb); //销毁了应用 $aa,$bb ,全局变量依然存在,
//且全局变量$aa 的值已通过应用传递发生了变化.}
test2();
print "变量\$aa=".$aa."<br>";
print "变量\$bb=".$bb."<br><br>";
/*执行结果:
变量$aa=bb
变量$bb=bb
*/function test3()
{
global $aa, $bb;
unset ($GLOBALS['aa']); //真正销毁了全局变量 $aa.
unset ($GLOBALS['bb']); //真正销毁了全局变量 $bb.
$aa = $GLOBALS['cc']; //应用 $aa 重新指向全局变量 $cc.
print "应用\$aa=".$aa."<br>";
}
test3();
print "变量\$aa=".$aa."<br>";
print "变量\$bb=".$bb."<br><br>";
/*执行结果:
应用$aa=cc
变量$aa=
变量$bb=
*/?>因此,xuzuning(唠叨)的方法是正确的.