2010-07-28 95 views
0

我正在阅读顾问提供给我们的一些代码。这是一个有点令人费解,并在函数结束时,它读取:PHP中(int)1和1之间的任何区别?

return (int) 1; 

相反的:

return 1; 

PHP有很多在它的魔法;这是否看起来像骨头一样,还是有一个合理的理由将整数作为整数来投射?

回答

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'

也,必要时(如在这种情况下,绝对不是),我建议不使用(int)代替intval()类型转换。

+0

这是为什么? ... – Inigoesdr 2010-07-28 20:44:00

+0

@Inigoesdr为什么是什么? – jordanstephens 2010-07-28 20:46:29

+0

是的,我不清楚:我建议不要用(int)使用intval()代替类型转换。 – Inigoesdr 2010-07-28 20:59:33

相关问题