gpt4 book ai didi

php - 逻辑运算符 php true 或 false

转载 作者:可可西里 更新时间:2023-11-01 00:10:31 25 4
gpt4 key购买 nike

作为一个 php 新手,我尝试阅读很多其他人的代码来学习。今天我遇到了这样一行:

if ( stripos($post_to_check->post_content, '[' . $shortcode) !== false )

我想知道有什么区别!==false==true如果有人可以向我解释这一点,将不胜感激。..如果没有真正的区别 - 使用引用的一个而不是另一个的原因是什么??

最佳答案

PHP 是一种松散类型的语言。 == 匹配两个值,=== 匹配值以及值的数据类型。

if (8 == '8') // returns true

以上条件只匹配值而不是数据类型因此 if 评估为 TRUE

if (8 === '8') // returns false

这个检查值和值的数据类型因此这个 if 评估为 FALSE

在需要同时检查值和数据类型的地方使用===,在需要比较值而不是数据类型时使用==

在你的情况下,

stripos 返回子字符串在字符串中的位置,如果没有找到则返回FALSE

if ( stripos($post_to_check->post_content, '[' . $shortcode) !== false )

上面的代码检查字符串中的子字符串,只有在找到子字符串时才求值为 TRUE。如果你把它改成

if ( stripos($post_to_check->post_content, '[' . $shortcode) != false )

并且当在 0 位置找到子字符串时,即使主字符串中存在子字符串,if 的计算结果也是 FALSE。那么条件就会变成这样

if ( 0 != false )

这将评估为 FALSE 因为 0 被认为是 FALSE

所以你必须在那里使用 !==

if ( 0 !== false )

这将比较两个值的值和数据类型值0是整数类型,falseboolean类型,因此这里的数据类型不匹配,条件为

PHP 手册页说明这些 comparison operator你应该检查一次。

关于php - 逻辑运算符 php true 或 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8768958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com