我正在阅读一些顾问为我们提供的代码。它有点复杂,在函数结束时,它显示为:
return (int) 1;
而不是:
return 1;
PHP有很多魔力;这是看起来像骨头一样,还是有一个有理由将整数转换为整数?
答案 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()
进行类型转换。