| ety   
         
  
 | 分享:        ▲
                    
                      ▼         
 
   首先要說明一下, PHP 是以 Perl 為基礎的, 並不用特別地去宣告新變數以及其資料型態.除此之外跟 C 語言應該沒有什麼太大的不同.
 第一區不是一個函式嗎? 這個函式不是需要三個輸入參數嗎 ? ($length, $width, $height )
 這三個參數是在那個函式裡宣告的, 怎能在別區用呢?  這跟 C 語言是一樣的, 沒有不同呀!
 你在別區就算宣告了一樣名字的變數, 其值也一定不會一樣, 因為他們會分別放在不同的記憶體位址.
 
 電腦在讀這程式時, 在第一區會分配記憶體位址給 $length, $width, $height 來儲存這三個參數的值, 目前是 NULL.
 到了第二區又會在多分配三個記憶體位址給 $l, $w, $h 來儲存這三個變數的值, 目前是 $l = 10, $w = 12, $h = 15. 就算你把這三個變數取名為 $length, $width, $height 這三個, 記憶體位址還是一樣由電腦新給的, 不是之前的那三個.  想想看, 如果有可以像你所說的去取代變數, 那是多麼可怕的事呀, 萬一讀錯了記憶體位址, 你的作業系統可能就會出錯呢!
 
 接下來, 呼叫到了第一區的函式了, 那個函式是要三個參數當輸入值的, 所以我們把$l, $w, $h傳過去給它當參數.  然後那個函式收到了, 就會把 $l 的值 copy 到 $length, $w 的值 copy 到 $width, $h 的值 copy 到 $height 去, 然後用 $length, $width, $height 這個參數來處理, 這程式就是這樣地執行的.
 
 不懂的話再問, 我想這裡有很多人樂意與你討論的!
 
 |