2011-10-19 40 views
-1

我收到了查詢中的布爾值,我想檢查布爾值是否大於零。是否可以修改處理資源時使用的方法來檢查布爾值? (請參閱下面的資源處理示例:)如何看待布爾?

return (mysql_result($query, 0) == 1) ? true : false; 

任何幫助表示讚賞。 預先感謝您。

回答

1

由於PHP將其解釋爲一個字符串,你可以簡單地將它轉換爲(bool)

return (bool)(mysql_result($query, 0)); 

非零值將強制轉換爲TRUE。請注意,如果返回值爲0或1,則只應執行此操作。負值將投射爲TRUE

var_dump((bool)"1"); 
// bool(true) 
var_dump((bool)"0"); 
// bool(false) 
var_dump((bool)-2); 
// bool(true) 
+0

我可以真正的加:假到您的代碼示例,在我給的例子? – NorS

+1

你的答案沒有錯,但從MySQL接收到的數據通常是一個字符串,包括整數,浮點數,布爾型 – 2011-10-19 14:27:51

+0

@NorS不需要添加三元操作。通過'(布爾)'鑄造'也是一樣的。 –

0

只是做return mysql_result($query, 0) == 1;

不要做類似return $a_boolean_value ? true : false;

0

I've received a boolean from a query

這是不正確的。你不能從查詢中得到布爾值,而只能得到一個字符串。

I want to check if the boolean's value is greater than zero.

  1. 布爾不能以這種方式來測量。布爾值可以是真或假。或者,你喜歡它 - 零或非零。不是「更大」,而是「不」。

  2. PHP中的'大於'運算符爲>。所以,你可以在你的表達用它來代替equal運營商(==一個)

+0

謝謝你指出。我對布爾類型感到困惑。 – NorS