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

关于PHP的变量引用

2014-08-22 14:28 330 查看
变量的引用,其实就是不同名字的变量指向同一个内存地址的内容。

通俗了说,黄河也叫济水。指的是同一条河流,现代人都叫黄河,就相当于 “unset(济水)”,可是黄河是存在的,只是删掉了 济水 这个名字而已。

先秦时期的荀子在辩论“白马飞马”等哲学论题时就提出了名实之间划定界限,一物可有多名,而多名并非多物。

言归正传:

举例

<?php

$a = "123";

$b = &$a;

echo $b; //输出123;

echo $a; //输出123;

$b="456";

echo $a; // 输出456

?>

解释:当$b应用变量$a 时,$a与$b则指向了同一个内存地址,所以$a和$b输出了同一个结果。

当$b重新赋值时,则内存中的内容发生了变化,但是,$a和$b都没有被销毁,依然指向同一个地址,因此,$a输出456;

假设$b在重新复制之前被销毁,如下

<?php

$a = "123";

$b = &$a;

unset($b);

$b="456";

echo $a; // 输出123

?>

此时,相当于$b被重新定义并赋值,$b和$a则是两个地址指向的两个值,两者可以说是没有关系,所以,$a的值,没有变化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: