php中變數賦值是引用的例子

2021-06-26 14:29:49 字數 1077 閱讀 2458

php中的變數賦值都是複製,但是有乙個引用的例子,因為看手冊的時候注意到了,在這裡記下一筆
$arr = array('name'=>'baixiaoshi','age'=>23);

echo '';

print_r($arr);

echo '

';

$arr2 = $arr;

//結果array

/*( [name] => baixiaoshi

[age] => 23

)*/ $arr2['hobby'] = 'run';

echo '

';

print_r($arr2);

echo '

';

//結果

//array

/*( [name] => baixiaoshi

[age] => 23

[hobby] => run

)*/

但是你看下面神奇的globals這個超全域性變數,預設賦值的卻是引用,

$_post['a'] = 'b';

$nonreferencedpostvar = $_post;

$nonreferencedpostvar['a'] = 'c';

echo 'post: '.$_post['a'].', variable: '.$nonreferencedpostvar['a']."\n\n";

//輸出結果post: b, variable: c

// testing globals

$globals['a'] = 'b';

$nonreferencedglobalsvar = $globals;

$nonreferencedglobalsvar['a'] = 'c';

echo 'globals: '.$globals['a'].', variable: '.$nonreferencedglobalsvar['a']."\n\n";

//輸出結果

// globals: c, variable: c

PHP變數引用賦值與變數賦值變數的區別

變數預設總是傳值賦值。那也就是說,當將乙個表示式的值賦予乙個變數時,整個原始表示式的值被賦值到目標變數。這意味著,例如,當乙個變數的值賦予另外乙個變數時,改變其中乙個變數的值,將不會影響到另外乙個變數。有關這種型別的賦值操作,請參閱表示式一章。foo abc b foo b my name is b...

詳解PHP變數傳值賦值和引用賦值變數銷毀

b 200 var dump a,b int 100 int 200 php中,上面的 變數是怎麼存放的呢?上面的 變動下,將變數b賦值給變數a,會發生什麼?b 200 a b 多了這個 var dump a,b int 200 int 200 問題來了,a b,那麼是將變數a的指標指向了變數b指標...

關於php變數的賦值和引用的區別

剛開始學習php,發現有些地方和js語法不同,所以記錄下來。這篇文章是總結php中變數賦值和引用的區別。我們知道,js中,原始型別的賦值,是將值直接複製給變數 引用型別的賦值,是將記憶體位址複製給變數。至於這兩者的區別,我就不講了。這裡,我只總結哪些是直接賦值,哪些是複製的記憶體位址。1 原始型別 ...