我正在阅读顾问提供给我们的一些代码。这是一个有点令人费解,并在函数结束时,它读取:PHP中(int)1和1之间的任何区别?
return (int) 1;
相反的:
return 1;
PHP有很多在它的魔法;这是否看起来像骨头一样,还是有一个合理的理由将整数作为整数来投射?
我正在阅读顾问提供给我们的一些代码。这是一个有点令人费解,并在函数结束时,它读取:PHP中(int)1和1之间的任何区别?
return (int) 1;
相反的:
return 1;
PHP有很多在它的魔法;这是否看起来像骨头一样,还是有一个合理的理由将整数作为整数来投射?
不,这是一样的。 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'
也,必要时(如在这种情况下,绝对不是),我建议不使用(int)
代替intval()
类型转换。
这是为什么? ... – Inigoesdr 2010-07-28 20:44:00
@Inigoesdr为什么是什么? – jordanstephens 2010-07-28 20:46:29
是的,我不清楚:我建议不要用(int)使用intval()代替类型转换。 – Inigoesdr 2010-07-28 20:59:33