对于设计用于处理缺失值的SQL查询,我使用以下测试来获取值:
if ($true<>'') {
$strSet.="true='$true',";
}
如果true为TRUE,即1,则它通过该测试。但是,如果true为FALSE即0,则它当前失败。
这是&lt;&gt;''的正确行为吗?我应该以其他方式进行测试吗?
答案 0 :(得分:0)
代码中的问题是:
如果$true
为TRUE,那么它将显示1(此处$true
的值为1)。
如果$true
为假,那么它将不会显示任何内容,因为它被视为''
(空)。
您可以将代码更改为此类代码,isset()
是您需要的功能:
if(isset($true)){
$strSet.="true='$true',";
}
这实际上对我有用。
答案 1 :(得分:-1)
空字符串的测试与查找1或0非常不同。如果您知道这些值可能是这些结果中的任何一个,那么请相应地写下if。
if ($true != 0) {
你也可以使用php“空”功能:
if (!empty($true)) {
或者这也适用于更简单的方法:
if ($true) {
修改变量名称。