2009年7月24日 星期五

PHP裡的 & 運算子

在PHP中 下面這段寫法並不會出現警告訊息
< ?php
$a=&$b;
? >

這也許會讓人覺得 $b 變數未宣告即使用 應該會出現警告才對
但是在PHP官網裡的 What References Do有這一段說明:
Note: If you assign, pass, or return an undefined variable by reference, it will get created.

所以 當 &$b 出現時 $b 就會被創造 並且設為NULL 然後將 $a 設為 $b的 alias
因此上面的寫法在PHP裡 其實是合法的

不過PHP裡還有我較有疑問的地方是 只要一個變數設為NULL 則使用不存在的index也不會有事 例如:
< ?php
$a=NULL;
$b=$a['aaa']['bbb'];
? >
以上的寫法 在PHP中是不會出現警告訊息的 這是蠻讓人奇怪的一點

沒有留言:

張貼留言