2011-08-15 40 views
4

在PHP中,我試圖返回TRUE如果$計數器大於0.在這種情況下使用三元運算符工作。這裏是原代碼:如果計數器大於0,則返回TRUE?

if($counter>0){return TRUE;}else{return FALSE;} 

我能凝結下來到

return $counter>0?TRUE:FALSE 

感謝

回答

15

你可以濃縮成return $counter>0

因爲這是一個布爾表達式本身。

+0

我知道0返回FALSE且1+返回TRUE,但是0!== FALSE和1!== TRUE – alecwhardy

+2

正確,但是這是將整數轉換爲布爾值。上面的表達式是一個直接的布爾表達式 – Joe

+0

謝謝你提供這個。儘管有些人可能會發現閱讀或理解起來更容易,但是它促使我發現表達式會返回一個布爾值*反正*有'TRUE'或'FALSE'明確加入。像'if(1 == 1){return TRUE; } else {return FALSE; }'。完全沒有必要。只是'返回1 == 1;' –

3
return ($counter > 0) ? TRUE : FALSE; 

如果你喜歡,是的,你可以!

0

是的,你可能會凝結的是,但你可以有時也是考慮:

return is_int($counter) && $counter > 0; 

這個表達式檢查它是否大於零,另外,如果$counter是整數。

相關問題