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

2022-05-19 10:21:06 字數 952 閱讀 7510

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

<?php

$foo='abc';

$b=$foo

;$b="my name is $b";

echo "$b"; //

my name is abc

echo "$foo"; //

abc

php 也提供了另外一種方式給變數賦值:

引用賦值

。這意味著新的變數簡單的引用(換言之,「成為其別名」 或者 「指向」)了原始變數。改動新的變數將影響到原始變數,反之亦然。

使用引用賦值,簡單地將乙個 & 符號加到將要賦值的變數前(源變數)。例如,下列**片斷將輸出「my name is bob」兩次:

<?php

$foo = 'bob' ; //

將 'bob' 賦給 $foo

$bar = & $foo ; //

通過 $bar 引用 $foo

$bar = "my name is $bar " ; //

修改 $bar 變數

echo

$bar

;echo

$foo ; //

$foo 的值也被修改

?>

雖然在 php 中並不需要初始化變數,但對變數進行初始化是個好習慣。未初始化的變數具有其型別的預設值 - 布林型別的變數預設值是false,整形和浮點型變數預設值是零,字串型變數(例如用於 echo 中)預設值是空字串以及陣列變數的預設值是空陣列。 

詳解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變數賦值的方式有兩種 值賦值和引用賦值。預設情況下,php中都使用值傳遞方式,即若在函式的內部改變了引數的值,也不會影響到函式外部的值。例 function change string str 改變之前 change str echo str 輸出結果為 改變之前。儘管在函式內部改變了引數 s...

PHP的變數賦值

這個標題估計很多人會不屑一顧,變數賦值?excuse me?我們學開發的第一課就會了好不好。但是,就是這樣基礎的東西,反而會讓很多人矇圈,比如,值和引用的關係。今天,我們就來具體講講。首先,定義變數和賦值這個不用多說了吧 a 1 b 2 c 4,5,6 d new stdclass 四個變數,分別定...