我需要在PHP中比较两个整数。我有以下示例:
$a=00713132161838;
$b=713132161838;
我应该如何使这个比较成立?我需要从$a中删除前导零。
我使用了number_format函数:
echo number_format($a,0,"","");
120370289
为什么会出现这种情况?
我需要在PHP中比较两个整数。我有以下示例:
$a=00713132161838;
$b=713132161838;
我应该如何使这个比较成立?我需要从$a中删除前导零。
我使用了number_format函数:
echo number_format($a,0,"","");
120370289
在php中,将数字前加0视为八进制数,并且打印出十进制等效的00713132161838
,实际上是120370289
。在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
将它们转换为十进制整数值。如需更多信息,请阅读 PHP 中的 intval 函数。