PHP数字字符串/整数比较?

时间:2018-01-07 13:13:42

标签: php string int

我收到json $match = $data_json['match'];所以,当我尝试在if内部进行比较时:

if($match==0){

在这种情况下代码输入if即使它不是0.它只有在我使用类似的东西时才有效:

if($match=="0"){ 

使用“”。我已经尝试搜索解决方案(不需要使用“”),但我无法找到它。任何人都知道为什么会这样。看起来它比较字符串与整数。我知道这可能发生在C,但在PHP中也是如此?

谢谢!

2 个答案:

答案 0 :(得分:0)

当您与PHP中的==变量进行比较时,如果您还要使用===检查变量的类型,则不会检查变量的类型。

答案 1 :(得分:0)

如果运算符==在不同的类型之间进行转换,则===运算符执行类型安全比较。这意味着如果两个操作数具有相同的true和相同的type,它将仅返回value。这里有一些例子:

1 === 1   //true
1 == 1 //true
1 === "1" //false
1 == "1" //true