PHP中應該避免使用同名變數(拆分臨時變數),php變數_PHP教程

來源:互聯網
上載者:User

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


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

Motivation

臨時變數有這多種不同的用途。比如它們可被用作迴圈中的計數器,在迴圈中儲存結果集,亦或儲存一個冗長的運算式的計算結果等等。

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

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

Example Code

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

$temp = $width * $height;
echo "Area: $temp";
}

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

複製代碼 代碼如下:
function rectangle($width=1, $height=1) {
$perimeter = 2 * ($width + $height);
echo "Perimter: $perimeter
";

$area = $width * $height;
echo "Area: $area";
}

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

http://www.bkjia.com/PHPjc/978726.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/978726.htmlTechArticlePHP中應該避免使用同名變數(拆分臨時變數),php變數 當一個臨時變數被賦值多次時,那麼將其拆分成多個,除非它是一個迴圈計數器。...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.