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

sup*_*ize 20 php numbers string-length

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

$num = 245354;
$numlength = mb_strlen($num);
Run Code Online (Sandbox Code Playgroud)

$numlength在这个例子中应该是6.不知怎的,我无法管理它的工作?

谢谢

编辑:上面的示例代码 - ^及其各自的方法mb_strlen();工作得很好.

Ser*_*nov 46

也许:

$num = 245354;
$numlength = strlen((string)$num);
Run Code Online (Sandbox Code Playgroud)

  • 更好的解决方案是使用log()然后你不需要将它强制转换为字符串. (2认同)
  • 对我来说,使用像`log()`这样的数学函数是不可读的。我相信程序员!=数学家 (2认同)
  • 此解决方案不适用于更大的数字。使用任何超过 19 位的数字进行测试。 (2认同)

Rob*_*ert 10

有些数学有时会有帮助.你需要的一切就是调用floor(log10($num) + 1)0 来调用.

$num = 12357;
echo $num !== 0 ? floor(log10($num) + 1) : 1; // prints 5
Run Code Online (Sandbox Code Playgroud)

基本上,它与基数10的对数然后使其成为平局并增加1.