2013-06-04 122 views
-4
$odd= true; 
echo ($odd == true) ? '<tr class="odd_row">' : '<tr class="even_row">'; 
    $odd = !$odd; 

請任意一位請解釋此代碼?Can AnyOne請解釋此代碼請

+2

這裏有什麼困惑? – 2013-06-04 08:29:17

+0

另請參閱:http://stackoverflow.com/questions/1080247/what-is-the-php-operator-called-and-what-does-it-do –

+0

您是否使用過Google? –

回答

3

這意味着

if ($odd == true){ 
    echo '<tr class="odd_row">'; 
}else{ 
    echo '<tr class="even_row">'; 
} 

,並且被稱爲ternary operator

然後通過$odd = !$odd;這個變量的值被 「翻轉」。我想這是爲了讓下一排變得「平坦」。

+1

'$ odd =!$ odd;'? – 2013-06-04 08:30:44

+0

這相當於: <?php if($ odd == true) $ odd = false;其他 $ odd = true; – Asenar

+0

@Akam,ok,加上解釋 – k102

0

這是$odd變量設置爲布爾值true

$odd= true; 

它使用什麼叫做terniary操作打印出一個字符串。 如果$odd爲真,它將打印第一位,如果不是第二位。正如你之前設置$odd爲真,它將始終打印第一位

echo ($odd == true) ? '<tr class="odd_row">' : '<tr class="even_row">'; 

這臺$odd!(不)$odd所以反轉布爾假 $奇= $奇!;

很抱歉的字面解釋,但我想徹底

10

表達[a] ? [b] : [c]被稱爲ternary operator。這是相同的,因爲這功能:

function ternary($a, $b, $c) { 
    if ($a) 
    return $b; 
    else 
    return $c; 
} 

除了參數三元運算符是懶評價(即,僅實際執行的[b][c]之一)。

$odd = !$oddtruefalse之間切換$odd的值。

該代碼可能用於打印表格行的循環中,該表格行交替出現類odd_roweven_row,然後可以使用CSS以不同方式對樣式進行樣式設置。

+0

+1的平均值,用於解釋「切換true和false之間的奇數值」 – 2013-06-04 08:31:52

+0

它與您的函數不完全相同,請考慮'echo $ a? 1:(print「hello」);'vs'ternary($ a,1,(print「hello」));' –

+0

@Jack謝謝,修復它。 – Oswald