1、值賦值:將賦值運算式的值複製到變數。例子:
| 代碼如下 |
複製代碼 |
$number=15; $age=20; $sum=12+"15";//$sum=27 |
2.建立數組有變數賦值和調用函數兩種方法,這裡先講前者。
使用變數賦值方法很簡單,直接給一個陣列變數賦值即可。
執行個體:
| 代碼如下 |
複製代碼 |
<?php $lang[]="php"; $lang[]="html"; $lang[]="css"; echo "$lang[0] <br>"; echo "$lang[1] <br>"; echo "$lang[2] <br>"; ?> |
三個指派陳述式產生的數組內容:
0=>php
1=>html
2=>css
3、引用賦值:所建立的變數與另一個變數引用的內容相同。因此如果多個變數引用了同一內容,修改其中任一個變數,在其餘的變數上都會有反映。在等號後面加一個&符號($val2=& $val1)就可以完成引用賦值或者將&符號放在引用的變數前面($val2= &$val1):
| 代碼如下 |
複製代碼 |
$val1="hello"; $val2=& $val1; $val2="goodby"; echo '$val1 is '.$val1." "; echo '$val2 is '.$val2." "; ?> $val1 is goodby $val2 is goodby |
foreach引用賦值的問題
代碼:
| 代碼如下 |
複製代碼 |
<?php $a = array( 'a' => 'aa', 'b' => 'bb', 'c' => 'cc', ); foreach( $a as &$v){ ; } print_r($a); foreach( $a as $v){
} print_r($a); |
----------------------
仔細想想,其實是簡單的引用問題,第一次foreach完畢,$v實際是$a['c']的引用,迴圈時,每次對$v的賦值都會會改變$a['c']的值,而最後一次對$v的賦值是$v=$a['c'],$a['c']在上一次被賦值為$a['b'],所以會會出現上述情況