【发布时间】:2011-10-19 14:21:25
【问题描述】:
我从查询中收到一个布尔值,我想检查该布尔值是否大于零。是否可以修改处理资源以检查布尔值时使用的方法? (见;下面的资源处理示例:)
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)
【讨论】:
(bool) 投射也有同样的作用。
$query 是FALSE,因为您的查询失败了!在这里寻找许多相关的答案:stackoverflow.com/…
只要return mysql_result($query, 0) == 1;
不要做类似return $a_boolean_value ? true : false;的事情。
【讨论】:
我收到了来自查询的布尔值
这不是真的。你不能从查询中得到布尔值,而只能得到一个字符串。
我想检查布尔值是否大于零。
不能以这种方式测量布尔值。布尔值可以是真或假。或者,您喜欢它 - 零或非零。不是“更大”,而只是“不是”。
PHP 中的“大于”运算符是>。所以,你可以在你的表达式中使用它而不是equal operator(== one)
【讨论】: