如果变量为真,我想要回应'成功'。 (我最初写的“return true”仅适用于函数。
$add_visits = add_post_meta($id, 'piwik_visits', $nb_visits, true);
if($add_visits == true){
echo 'success';
}
这相当于
$add_visits = add_post_meta($id, 'piwik_visits', $nb_visits, true);
if($add_visits){
echo 'success';
}
或者$ add_visits是否存在,无论是'true'还是'false';
答案 0 :(得分:13)
您可能需要考虑:
if($add_visits === TRUE){
echo 'success';
}
这将检查您的值是否为TRUE且类型为boolean,这样更安全。因此,如果$ add_visits作为字符串“失败”返回,则代码将成功回复,这可能很容易导致数据库在发送请求后失败。
答案 1 :(得分:8)
测试$var == true
与仅测试$var
相同。
您可以在比较运算符上阅读this SO question。 您还可以阅读有关此主题的PHP manual。
注意:变量不会返回 true
。它是 true
,或者评估到true
。但是,函数会返回 true
。
答案 2 :(得分:3)
他们是一样的。
此...
if ($add_visits == true)
echo 'success';
......与:
相同if ($add_visits)
echo 'success';
以同样的方式,您还可以测试条件是否为假:
if (!$add_visits)
echo "it's false!";
答案 3 :(得分:0)
是的,这样可以正常工作。
//true
if($variable) echo "success";
if($variable == true) echo "success";
//false
if(!$variable) echo "failure";
if($variable == false) echo "failure";
答案 4 :(得分:0)
if($add_visits === TRUE)
应该这样做。
答案 5 :(得分:0)
if (isset($add_visits) && $add_visits === TRUE){
echo 'success';
}
可能看起来多余,但如果Notice
未设置,PHP将抛出$add_visits
。这是测试变量是否为真的最安全的方法。
答案 6 :(得分:0)
最安全的方法是使用php验证。如果是ajax发布到php:
$isTrue=filter_var($_POST['isTrue'], FILTER_VALIDATE_BOOLEAN);