我正在閱讀顧問提供給我們的一些代碼。這是一個有點令人費解,並在函數結束時,它讀取: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