2010-05-27 95 views
4

所以只是謀求更好的發展,我想知道哪種方法是設置變量更好:哪種方法可變設置更好?

代碼:http://pastie.org/private/jkw9dxplv0ixovvc0omq

方法1: 設置結束變量if語句

- 或 -

方法2: 設置一個默認變量,並根據需要更改它的值。

我希望這是有道理的。

提前致謝!

+0

只是一個供參考,例子使用不同的平等水平。方法1有===,方法2有== ==。如果不是拼寫錯誤,可能會產生很大的差異。 =) – 2010-05-27 15:14:23

回答

6
<?php 
    $value = 10; 
    $x = 'no'; 

    if($value == 10){ 
     $x = 'yes'; 
    } 
?> 

法兩種。

+1

總是在任何條件塊之前顯式聲明所有變量。如果稍後添加一個elseif構造,並忘記設置該變量,會發生什麼情況。這是很好的編碼練習,並且會提高可讀性。 – ircmaxell 2010-05-27 15:18:42

+1

+1 - 總是首先用變量聲明變量,如果變量爲真,則在條件語句內改變它。另外,在示例中應該使用===比較器,因爲它比較類型而不是類型轉換。 – Fenton 2010-06-14 15:06:06

3

我認爲這主要與個人喜好有關。任何性能改進都可以忽略不計。這兩個,我通常會用方法2.去然而,我通常使用方法1的簡寫形式保留一切可讀和1號線:

$value = 10; 
$x = $value == 10 ? "yes" : "no"; 
1

我更喜歡方法1.這樣,如果情況是10,那麼$ x只設置一次。否則,它會設置一次或兩次。不確定它很重要,但它更具可讀性和邏輯性。

1

在我看來更好的是分配一個默認值和初始化變量,所以我選擇第二種方法。

如果出現錯誤,運行時您不必擔心如果您的變量($ x)已被初始化或沒有。

$ value = 10; $ x =($ value == 10)? 「是」:「不」;

+0

我認爲你需要把這個條件包裝到括號中。 – 2010-05-27 15:35:45