程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP中應該避免使用同名變量(拆分臨時變量)

PHP中應該避免使用同名變量(拆分臨時變量)

編輯:PHP綜合

當一個臨時變量被賦值多次時,那麼將其拆分成多個,除非它是一個循環計數器。

Motivation

臨時變量有這多種不同的用途。比如它們可被用作循環中的計數器,在循環中保存結果集,亦或保存一個冗長的表達式的計算結果等等。

這些類型的變量(容器)應該只賦值一次。如果一個同名的臨時變量被賦予多個職責,將會影響代碼的可讀性。這個時候我們應當引入一個新的臨時變量以使代碼更加清晰易懂。

可能有些注重性能的人會說,引入一個新的變量將會占用更多的內存。的確如此,但是注冊一個新的變量不會吸干服務器內存的,這一點請放心,我們不是活在 386 時代,與其在這些無聊的細枝末節上面搞所謂的優化,不如去優化真正的系統性能瓶頸,比如數據庫、網絡連接等等,而且清晰易懂的代碼更容易被重構,發現 Bug,或者解決性能問題等等。

Example Code

很多時候,我們使用同一個 $temp 變量來計算一個物體的不同屬性,這種情況比較常見,比如下面這個例子:
復制代碼 代碼如下:
function rectangle($width=1, $height=1) {
    $temp = 2 * ($width + $height);
    echo "Perimter: $temp <br />";
 
    $temp = $width * $height;
    echo "Area: $temp";
}

正如你所看到的,$temp 被使用了兩次分別用來計算長方形的周長以及面積。這個例子看起來非常直觀清晰,但實際的項目代碼可能遠比這個例子復雜,如果我們把代碼改成下面的樣子,這樣,不管代碼如何復雜都不會有混淆感了。

復制代碼 代碼如下:
function rectangle($width=1, $height=1) {
    $perimeter = 2 * ($width + $height);
    echo "Perimter: $perimeter <br />";  
 
    $area = $width * $height;
    echo "Area: $area";
}

為不同的東西(如表達式)聲明一個新的臨時變量吧,大部分時候性能並不是什麼問題,而可讀性則非常重要。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved