我需要知道一个数字中有多少个字符/数字。一些数字将有前导零。经过大量阅读,我明白如果它有前导零,PHP 会将其转换为 octal。数字。但我需要一种方法来取消它并将该数字视为正常数字。我还需要能够稍后将其打印到带有前导零的屏幕上。
有没有直接解决这个问题的方法?
我不想要八进制数。我想让它知道是 00123 或至少是 123 而不是 83。
理想情况下,在计算数字中的字符时,我想要的输出是 3
或 5
。并且是一个数字而不是以字符串开头
$a = 00123;
echo $a; // Returns 83
echo strlen((string)$a); // Returns 2
echo mb_strlen($a, "UTF-8"); //Returns 2
$b = "". 00123 ."";
echo strlen((string)$b); //Returns 2
echo strlen(strval($b)); //Returns 2
最佳答案
您可以使用 decoct 的组合和 str_pad ,就像这样。 http://3v4l.org/TQgOq
<?php
echo str_pad(decoct(000123), 20, '0', STR_PAD_LEFT);
不过,您可能希望对某些传入值进行完整性检查。
关于php - 测量整数的长度(当解释为八进制数时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20472765/