$arr = array(0); $arr2 = $arr; $arr2[0] = 1; echo $arr[0]; //打印輸出0

class B { public $i = " /> 一区二区三区黄色片,日本久久黄色,特级西西444www大精品视频

四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

PHP中=賦值操作符對不同數據類型的不同行為

首先解釋賦值操作符=的行為,看下面的例子:
復制代碼 代碼如下:
$i = 0;
$j = $i;
$j = 0;
echo $j; // 打印輸出0

$arr = array(0);
$arr2 = $arr;
$arr2[0] = 1;
echo $arr[0]; //打印輸出0

class B
{
public $i = 0;
}

$b = new B();
$c = $b;
$c->i = 1;
echo($b->i); // 打印輸出1

從這個例子可以看出,如果=操作符右邊的變量為基本數據類型或者數組,那么=操作符把右邊變量的一份拷貝賦值給左邊變量;如果右邊變量不是基本數據類型或者數組,如class,那么=會把一個指向右邊變量的引用賦值給左邊變量。注意:是指向右邊變量的引用,而不是指向右邊變量所指的內容區域的引用;具體看下邊的例子
復制代碼 代碼如下:
$a = new A();
$b_a = $a;
$b_r = &$a;

$b_a = null;
var_dump($a); //打印 object(A)[2],$a所指向的內容還在
$b_r = null;
var_dump($a); // 打印 null,$a所指向的內容被清除了

上面的例子也說明了,如果用 $var = &$a 的方式賦值的話,用$var=null來銷毀變量$var的話事實上是把$var所指內容被設置null了,其實這句話也暗示了任何一個指向該內容區域的引用變量均可用來銷毀該內容區域的內容。所以,要銷毀變量$var的話用 unset($var) 。PS:事實上一這種方式賦值$var只是個引用,占用不了多少內存,要不要銷毀沒所謂,這里這是說下必須用unset的方式銷毀。

下面則是《用戶手冊》中的“引用的解釋”的例子:

$a =& $b;
下邊有這么一句解釋:
這意味著 $a 和 $b 指向了同一個變量。
注: $a 和 $b 在這里是完全相同的,這并不是 $a 指向了 $b 或者相反,而是 $a 和 $b 指向了同一個地方。
引用是什么?
復制代碼 代碼如下:
php 中引用意味著用不同的名字訪問同一個變量內容。這并不像 C 的指針,替代的是,引用是符號表別名。注意在 php 中,變量名和變量內容是不一樣的,因此同樣的內容可以有不同的名字。最接近的比喻是 Unix 的文件名和文件本身

主站蜘蛛池模板: 杰深斯坦森全部电影| 吉泽明步电影| 王妍个人资料简介| 伊人春色在线观看视频| 流浪地球海报| 朱荣荣| 傅青主治闭经特效方| 嫂子的职业韩| 一类生字和二类生字图| 一路向东电影| 迷夜电影| 周柯宇个人资料| 电影《真爱如血》免费播放| 戚薇夫妇现身机场| 邓为个人介绍| 情侣签名一男一女简短| av网址大全| 狂野殴美激情性bbbbbb| 牛油果营养价值| 白血公主| 九九九九九九九伊人| 电影《志愿者》观后感| 罗云熙的新剧《尸语者》哪里能看 | 意大利a级情欲片女人城| 李子京| 媚狐传| 26uuu电影网| 内蒙古电视台雷蒙| 南来北往演员| 骚扰电话怎么弄,不停的给对方打 儿子结婚请帖邀请函电子版 | free xxxx japan| 谢锐韬个人资料| 历史转折中的| 韩诗雅| 五下英语第一单元思维导图| 搏击俱乐部豆瓣| 挠丝袜| 泡在我家的辣妹第二季动漫在线观看| 秀人网蜜桃社尤果网| 美女上厕所| 拿枪|