Avatar ·

PHP中比较运算符 ==(非严格相等)和 ===(严格相等)有什么区别?

大家好!我刚开始学习PHP,遇到了一个令人困惑的情况。我写了一个简单的脚本来检查用户年龄,结果让我很困惑。

这是我的代码:

<?php
$age = "25";  // 字符串
$legal_age = 25;  // 数字

if ($age == $legal_age) {
    echo "年龄匹配 (==)";  // 这行会输出
}

if ($age === $legal_age) {
    echo "年龄匹配 (===)";  // 这行不会输出
}
?>

为什么第一个if生效,而第二个没有?看起来两边值都是25。我读过手册说==和===,但区别对我来说不明显。什么时候该用哪个运算符?如果我在实际项目中不小心混淆了它们会怎样?比如检查密码或数据库中的ID时?

提前感谢解答!

<<>>

PHP中==和===区别的详细解释

好问题!这是PHP新手最常见的“陷阱”之一。让我们来搞清楚