gpt4 book ai didi

php变量比较== vs ===

转载 作者:行者123 更新时间:2023-12-02 05:30:51 24 4
gpt4 key购买 nike

这是代码:

$s = 0;
$d = "dd";

if ($s == $d) {
var_dump($s);
die(var_dump($d));
}

结果是:

int 0

string 'dd' (length=2)

请解释原因。

为什么 ($s == $d) 结果为真?

当然,如果使用===,结果会是false,但为什么这种情况需要===?在这两种情况下都不应该返回 false 吗?

最佳答案

因为 (int)$d 等于 00=0

对于不同的字符类型 (string)(int),你必须使用严格的比较 ===

您的 $d 会自动转换为 (int) 以进行比较。

关于php变量比较== vs ===,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12421292/

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