課程
/后端開發
/PHP
/PHP進階篇
<?php $num=0; $arr=array(); $arr[0]=$num; $num=1; echo?$arr[0];//怎么不是1 ?>
2018-05-04
源自:PHP進階篇 1-10
正在回答
<?php /** ?*?User:?Kitetop ?*?Date:?2018/5/8 ?*?Time:?15:53 ?*/ $num=0; $arr=array(); $arr[0]=&$num; $num=1; echo?$arr[0];//輸出為1 ?> 其實說到底這個還是在賦值的時候傳遞的是值還是地址的問題,你直接使用值傳遞,$arr[0]與$num是兩個獨 立的存儲地址,只修改其中一個存儲地址對另外一個當然沒有關系,而如果你使用&$num的時候,$arr[0]還是指向 $num里面的變量的,你對$num修改$arr[0]的值也會跟著變化,相反也是一樣的。
你這個是值傳遞和引用傳遞的問題,只有引用傳遞才會改變變量的值,數組下標0的值才會改變
要重新賦值?
<?php$num=0;$arr=array();$arr[0]=&$num;$num=1;echo?$arr[0];//這就是1了?>
<?php
$num
=0;
$arr
=
array
();
[0]=&
;
=1;
echo
[0];
//這就是1了
?>
舉報
輕松學習PHP中級課程,進行全面了解,用PHP快速開發網站程序
2 回答用unset()可以釋放變量
3 回答靜態方法只能使用靜態變量嗎?
3 回答PHP中數組是不是對象?
1 回答子類Truck中$this->speed是指向父類Car中的變量嗎
3 回答類創建中的變量定義
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-05-08
2018-10-07
你這個是值傳遞和引用傳遞的問題,只有引用傳遞才會改變變量的值,數組下標0的值才會改變
2018-05-04
要重新賦值?
2018-05-04
<?php
$num
=0;
$arr
=
array
();
$arr
[0]=&
$num
;
$num
=1;
echo
?$arr
[0];
//這就是1了
?>