PHP - 获取数字中的数字长度

2022-08-30 16:48:06

我想问一下如何获得整数中的数字长度。例如:

$num = 245354;
$numlength = mb_strlen($num);

$numlength在此示例中应为 6。不知何故,我无法管理它工作?

谢谢

编辑:上面的示例代码 --^ 及其各自的方法工作正常。mb_strlen();


答案 1

或:

$num = 245354;
$numlength = strlen((string)$num);

答案 2

接受的答案不适用于大数字。计算任何数字长度的更好方法是使用 check for 调用 。floor(log10($num) + 1)0

$num = 12357;
echo $num !== 0 ? floor(log10($num) + 1) : 1; // prints 5

它具有多种优点。它更快,你不做类型的转换,它适用于大数字,它适用于不同的数字系统,如bin,hex,oct。

该方程以10为底进行对数,然后使其下限并除以1。

此解决方案可以在基数上独立工作,因此,如果要计算二进制或十六进制的长度,只需更改对数的基数即可。

工作小提琴


推荐