我需要比較PHP中的兩個整數。我有這個例子:比較php中的兩個整數
$a=00713132161838;
$b=713132161838;
我怎樣才能得到這個比較是真的?我需要從$ a中刪除前導零。
我用number_format功能:
echo number_format($a,0,"","");
120370289
爲什麼這樣?
我需要比較PHP中的兩個整數。我有這個例子:比較php中的兩個整數
$a=00713132161838;
$b=713132161838;
我怎樣才能得到這個比較是真的?我需要從$ a中刪除前導零。
我用number_format功能:
echo number_format($a,0,"","");
120370289
爲什麼這樣?
前導零到PHP中的數字是八進制數,並將其打印120370289
這是00713132161838
十進制等效值。在PHP中有兩種比較因而,
(`00713132161838`==713132161838) // return true
(`00713132161838`===713132161838) // return false and strict comparison
(00713132161838==713132161838)
// this will never give you true value because 007.....8 is the octal, number first converted to decimal and comparison will be there
,所以你可以使用單/雙引號的包的數量,然後將它們轉換爲十進制整數使用intval
以獲取更多信息,您可能需要閱讀intval function in php
如果你有答案,你可以接受答案......? –
'$ a = 00713132161838;'當您聲明整數值時出現零點意味着該值被視爲八進制值,而不是小數[PHP文檔](http://www.php.net/) manual/en/language.types.integer.php) –