您的位置:首页 > 编程语言 > PHP开发

PHP几个常见问题

2017-09-12 00:00 381 查看
1、变量引用

说明:变量a和变量a的引用,从底层来看实际上就是同一份内存空间存放的变量,他们的关系实际就是小明有一个名字叫小明,还有一个英文名字叫Tom,你叫小明和Tom,都只有一个人答复你。

<?php
function add(&$a){
$a+=100;
}

$a = 10;
$b = &$a;

echo $a;
echo "\n";
echo $b;
echo "\n";

add($a);
echo $a;
echo "\n";
echo $b;
echo "\n";

?>

运行结果:
10
10
110
110

2、使用unset释放变量的引用

说明:unset释放一个变量a的引用只是解开了名字之间的绑定关系,并没有释放变量a。

<?php
$a = 10;
$b = &$a;
unset($b);
echo $a;
?>

运行结果:
10

3、引用的返回

说明:$a=&test() 这语句说的是将test函数返回值得引用赋给$a,下面的例子中$b具有static属性,从c语言角度来讲这是放在全局(静态)初始化区,程序退出$b才会释放,执行$a=&test()相当于$a = &$b;

<?php

function &test() {
static $b=0;//申明一个静态变量
$b=$b+1;
echo $b;
return $b;
}

echo $b;
$a=test();//这条语句会输出 $b的值 为1
$a=5;
$a=test();//这条语句会输出 $b的值 为2

$a=&test();//这条语句会输出 $b的值 为3
$a=5;
$a=test();//这条语句会输出 $b的值 为6

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: