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 這個參數來處理, 這程式就是這樣地執行的.
不懂的話再問, 我想這裡有很多人樂意與你討論的!
|