1. 賦值運算:= ,意思是右邊表達式的值賦給左邊的運算數。
$int1=10; $int1=$int1-6; //$int1=4 echo $int1,"<br>"; $int3=$int2=$int1+4; //右向左,最後$int3=8 echo $int2,"<br>"; echo $int3,"<br>"; $int3=($int2=$int1)+4; //先對()進行運算,再右向左,最後$int3=8 echo $int2,"<br>"; echo $int3,"<br>";
2.將兩個變量的值進行互換
$int_x=10; $int_y=20; $int_x=$int_y+$int_x; $int_y=$int_x-$int_y; $int_x=$int_x-$int_y; echo "<hr>"; echo $int_x,"<br>"; echo $int_y,"<br>";
3. 引用賦值
$x=6; $y=$x; $z=&$y; //意味著$y,$z兩個變量指向了同一個數據
圖形描述,左邊表示變量,右邊表示對應的值,$z=&$y表示$y,$z兩個變量指向一個數據6,如C言語中的指針道理,指向同一個地址數據。
echo var_dump($x,$y,$z),"<br>";
就會輸出:int(6) int(6) int(6)
接下來,改變$x,$y的值,看變化:
$x=4; $y=8;
echo var_dump($x,$y,$z),"<br>";
就會輸出:int(4) int(8) int(8)
假如,我們這時候,作如下改變,再看$x,$y,$z的變化:
$x=$y+10; $y=&$x; //意味著$y的值指向了$x的值, $z=$y+2;
echo var_dump($x,$y,$z),"<br>";
就會輸出:int(18) int(18) int(20)
下面,再作一個例子來加深理解:
//為了能清楚的描述,先作釋放變量操作 unset($x); unset($y); unset($z); unset($u); $x=1; $y=2; $z=3; $u=&$z; echo "<hr>"; echo var_dump($x,$y,$z,$u),"<br>"; $y=&$x; $z=&$y; echo var_dump($x,$y,$z,$u),"<br>"; $y=5; echo var_dump($x,$y,$z,$u),"<br>"; $u=&$z; echo var_dump($x,$y,$z,$u),"<br>"; $z=6; echo var_dump($x,$y,$z,$u),"<br>";
看輸出結果:
int(1) int(2) int(3) int(3)
int(1) int(1) int(1) int(3)
int(5) int(5) int(5) int(3)
int(5) int(5) int(5) int(5)
int(6) int(6) int(6) int(6)
最後列出完整的測試代碼:
<?php // 1. 賦值運算:= ,意思是右邊表達式的值賦給左邊的運算數。 $int1=10; $int1=$int1-6; //$int1=4 echo $int1,"<br>"; $int3=$int2=$int1+4; //右向左,最後$int3=8 echo $int2,"<br>"; echo $int3,"<br>"; $int3=($int2=$int1)+4; //先對()進行運算,再右向左,最後$int3=8 echo $int2,"<br>"; echo $int3,"<br>"; // 2.將兩個變量的值進行互換 $int_x=10; $int_y=20; $int_x=$int_y+$int_x; $int_y=$int_x-$int_y; $int_x=$int_x-$int_y; echo "<hr>"; echo $int_x,"<br>"; echo $int_y,"<br>"; // 3. 引用賦值 $x=6; $y=$x; $z=&$y; //意味著$y,$z兩個變量指向了同一個數據 echo "<hr>"; echo var_dump($x,$y,$z),"<br>"; $x=4; $y=8; echo var_dump($x,$y,$z),"<br>"; $x=$y+10; $y=&$x; //意味著$y的值指向了$x的值, $z=$y+2; echo var_dump($x,$y,$z),"<br>"; //----------------------- //為了能清楚的描述,先作釋放變量操作 unset($x); unset($y); unset($z); unset($u); $x=1; $y=2; $z=3; $u=&$z; echo "<hr>"; echo var_dump($x,$y,$z,$u),"<br>"; $y=&$x; $z=&$y; echo var_dump($x,$y,$z,$u),"<br>"; $y=5; echo var_dump($x,$y,$z,$u),"<br>"; $u=&$z; echo var_dump($x,$y,$z,$u),"<br>"; $z=6; echo var_dump($x,$y,$z,$u),"<br>"; ?>View Code
(完.)