8

如果变量为真,我想回显“成功”。(我最初写的“返回真”仅适用于函数。

$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' 是否存在;

4

8 回答 8

22

您可能要考虑:

if($add_visits === TRUE){
     echo 'success';
}

这将检查您的值是否为 TRUE 和布尔类型,这样更安全。照原样,如果 $add_visits 以字符串“fail”的形式返回,您的代码将回显成功,这很容易导致您的数据库在发送请求后失败。

于 2012-09-20T18:32:28.243 回答
12

测试$var == true不仅仅是测试$var

您可以在比较运算符上阅读此 SO 问题。您还可以阅读有关此主题的PHP 手册。

注意:变量不返回 true。是,或者计算结果 。但是,函数返回.truetrue true

于 2012-09-20T18:26:15.643 回答
8

他们是一样的。

这个...

if ($add_visits == true)
    echo 'success';

...是相同的:

if ($add_visits)
    echo 'success';

以同样的方式,您还可以像这样测试条件是否为假:

if (!$add_visits)
    echo "it's false!";
于 2012-09-20T18:26:47.480 回答
1

是的,那会很好。

//true
if($variable) echo "success";
if($variable == true) echo "success";


//false
if(!$variable) echo "failure";
if($variable == false) echo "failure";
于 2012-09-20T18:27:36.650 回答
1
if($add_visits === TRUE)

应该做的伎俩。

于 2012-09-20T18:35:39.440 回答
1

最安全的方法是使用 php 验证。如果 ajax 发布到 php:

$isTrue=filter_var($_POST['isTrue'], FILTER_VALIDATE_BOOLEAN);
于 2018-02-28T19:15:38.887 回答
0

不合规代码示例

if ($booleanVariable == true) { /* ... */ }
if ($booleanVariable != true) { /* ... */ }
if ($booleanVariable || false) { /* ... */ }

做某事(!假);

Compliant Solution
if ($booleanVariable) { /* ... */ }
if (!$booleanVariable) { /* ... */ }
if ($booleanVariable) { /* ... */ }

做某事(真);

于 2022-01-18T02:13:36.923 回答
0
if (isset($add_visits) && $add_visits === TRUE){
     echo 'success';
}

可能看起来是多余的,但是 PHP 会抛出一个Noticeif $add_visitsis not set。这将是测试变量是否为真的最安全方法。

于 2018-02-06T19:47:48.153 回答