PHP和Javascript的比较有何不同?

时间:2015-06-03 09:40:15

标签: javascript php jquery

以下PHP代码输出     

if("2"== true){
    echo "yes";
}
else{
echo "no";
}
?>

但下面的Javascript代码会提醒

 <script>
    if("2" == true){
            alert('yes');
        }
        else{
            alert('no');

        }
   </script>

我不知道这些陈述将如何在其他语言中执行。为什么输出不同?

2 个答案:

答案 0 :(得分:1)

在PHP&#34; ==&#34;只检查是否设置了值,然后它自动为真。

在JS中会有一个类型转换来检查值。 True将转换为&#34; 1&#34;和&#34; 1&#34;不等于&#34; 2&#34;。

答案 1 :(得分:-1)

在PHP中,您需要检查===以检查数据类型

if ("2" === true) {

}

看看当PHP将你的字符串转换为bool时会发生什么:

php > var_dump ((bool) "1234");
bool(true)
php > var_dump ((bool) "");
bool(false)

请参阅PHP Reference