PHP中的(int)1和1之间有什么区别?

时间:2010-07-28 18:53:04

标签: php casting

我正在阅读一些顾问为我们提供的代码。它有点复杂,在函数结束时,它显示为:

return (int) 1;

而不是:

return 1;

PHP有很多魔力;这是看起来像骨头一样,还是有一个有理由将整数转换为整数?

2 个答案:

答案 0 :(得分:5)

不,它是一样的。 1是一个整数文字。

参见here这些都是整数文字;转换为int无效:

$a = 1234; // decimal number
$a = -123; // a negative number
$a = 0123; // octal number (equivalent to 83 decimal)
$a = 0x1A; // hexadecimal number (equivalent to 26 decimal)

如果你做return "1";那将是一个完全不同的事情。 "1"(字符串)和1(int)之间的行为存在一些差异,即bitwise operators

答案 1 :(得分:1)

这很棒。整数文字是......整数。

1 === 1 1 !== '1'

此外,必要时(,因为它确实不是)我建议不要使用(int)使用intval()进行类型转换。