php引用&相关

时间: 2009-04-20  分类: php+Mysql  收藏
//php引用&相关
<?php
$a=1;
$b=&$a;
$a=2;
unset($a);
echo $b; //output:2
/*两个变量指向一个地址,但销毁的只是变量a指向的内存地址,并没有销毁变量;
*只要有指向内存中的变量,变量就不会销毁
*/
?>
<?php
$a=1;
function b(&$c){
     $c++;
     return $c;
}
$d=&b($a); //定义函数中没有用&,这里不要用;说是致命错误,不懂中....
$d++;
echo $a; //output:2
?>
<?php
$a=1;
function &b(&$c){
     $c++;
     return $c;
}
$d=&b($a); //定义函数中用&,这里可用
echo $a; //output:3
?>
<?php
/*以下转自手册
*如果在一个函数内部给一个声明为 global 的变量赋于一个引用,该引用只在函数内部可见。可以通过使用 $GLOBALS *数组避免这一点。
*/
$var1 = "Example variable";
$var2 = "";
function global_references($use_globals)
{
     global $var1, $var2;
     if (!$use_globals) {
         $var2 =& $var1;
     } else {
         $GLOBALS["var2"] =& $var1;
     }
}
global_references(false);
echo "var2 is set to '$var2' "; // var2 is set to ''
global_references(true);
echo "var2 is set to '$var2' "; // var2 is set to 'Example variable'
?>
分享到:

评论

昵 称: