检查变量是否返回true

时间:2012-09-20 18:24:15

标签: php

如果变量为真,我想要回应'成功'。 (我最初写的“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';

7 个答案:

答案 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);