我收到了查詢中的布爾值,我想檢查布爾值是否大於零。是否可以修改處理資源時使用的方法來檢查布爾值? (請參閱下面的資源處理示例:)如何看待布爾?
return (mysql_result($query, 0) == 1) ? true : false;
任何幫助表示讚賞。 預先感謝您。
我收到了查詢中的布爾值,我想檢查布爾值是否大於零。是否可以修改處理資源時使用的方法來檢查布爾值? (請參閱下面的資源處理示例:)如何看待布爾?
return (mysql_result($query, 0) == 1) ? true : false;
任何幫助表示讚賞。 預先感謝您。
由於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)
只是做return mysql_result($query, 0) == 1;
不要做類似return $a_boolean_value ? true : false;
。
I've received a boolean from a query
這是不正確的。你不能從查詢中得到布爾值,而只能得到一個字符串。
I want to check if the boolean's value is greater than zero.
布爾不能以這種方式來測量。布爾值可以是真或假。或者,你喜歡它 - 零或非零。不是「更大」,而是「不」。
PHP中的'大於'運算符爲>
。所以,你可以在你的表達用它來代替equal
運營商(==
一個)
謝謝你指出。我對布爾類型感到困惑。 – NorS
我可以真正的加:假到您的代碼示例,在我給的例子? – NorS
你的答案沒有錯,但從MySQL接收到的數據通常是一個字符串,包括整數,浮點數,布爾型 – 2011-10-19 14:27:51
@NorS不需要添加三元操作。通過'(布爾)'鑄造'也是一樣的。 –