PHP中数值和字符串值之间的差异

时间:2010-05-10 16:48:25

标签: php string numeric

在PHP中比较两个字符串0'0'时,我会有所不同。我可以做任何事情来使它们在if行动中得到平等比较吗?

谢谢!

2 个答案:

答案 0 :(得分:11)

如果您使用以下方式进行比较:

if ('0' == 0) // if '0' is equal to 0

它应该返回true,因为值与被转换为数字的字符串进行比较。如果你这样做:

if ('0' === 0) // if '0' is identical to 0

它将返回false,因为它们也必须属于同一类型。

注意三重'='

答案 1 :(得分:1)

您还可以在比较之前强制他们的类型相同:

if((int)'0' === (int)0) {
    // true
}
if((string)'0' === (string)0) {
    // true
}