【发布时间】:2015-06-26 20:05:44
【问题描述】:
我正在尝试建立信誉系统:
if($upvotetruedownvotefalse == false){
if(strpos($lines[2],$username.",") !== false){
echo "you've already downvoted";
}
else{
echo "you haven't downvoted yet";
$lines[2] = $username.",".$lines[2];
$lines[0] = $lines[0]-1 . "\n";
file_put_contents( $filename , $lines);
}
}
if($upvotetruedownvotefalse == true){
if(strpos($lines[1],$username.",") !== false){
echo "you've already upvoted";
}else{
echo "you haven't upvoted yet";
$lines[1] = $username.",".$lines[1];
$lines[0] = $lines[0]+1 . "\n";
file_put_contents( $filename , $lines);
}
}
$upvotetruedownvotefalse的值是通过AJAX确定的
但是这些比较运算符给了我错误的结果。
例如,如果$upvotetruedownvotefalse = false 则$upvotetruedownvotefalse == true 将被触发。
我已经通过回显 $upvotetruedownvotefalse 的值并使用成功函数接收回显结果(包括 if 语句中的结果)对此进行了测试:
echo $upvotetruedownvotefalse;
success: function(response){
alert(response);
}
然后我控制台记录结果,我会得到这个:
假你还没有投票
我得到了相互矛盾的结果。
我还尝试在不同的地方使用不同类型的=== !===,结果要么反转,要么我的成功函数失败
关于布尔运算符有什么我不知道的吗? 任何帮助将不胜感激
【问题讨论】:
标签: php if-statement boolean