2010-07-28 47 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

相關問題