if ($ct >= $count){
echo "ct=$ct and count=$count</br>";
echo "a";
return 0; //No record deleted in the datatable
}elseif ($ct < $count){
echo "ct=$ct and count=$count</br>";
echo "b";
return 1; //Record deleted in the datatable
}
输出为:
ct=1 and count=2
a
这意味着“ 1> = 2”是正确的。...怎么可能???我该如何解决?我对这段代码感到疯狂...这是第一次发生这样的事情
答案 0 :(得分:2)
如果$ct
是布尔值,则在此表达式中:
if ($ct >= $count){
$count
将转换为布尔值以进行比较。非零数字的计算结果为true,因此满足条件$ct >= $count
,因为true == true
。
在此表达式中:
echo "ct=$ct and count=$count</br>";
布尔值true
转换为字符串,而true
的等效字符串为'1'
。