我正在计算PHP中的数字位数。我只想计算数据库的数字值。在第一个数字有零意味着,它不会采取 作为计数的数字。
例如:
12 ==number of count value is 2
122 ==number of count value is 3
我可以通过function.here my function来实现这一点。
function count_digit($number)
{
return strlen((string) $number);
}
$number = 12312;
echo count_digit($number); // 5
但是我需要为该数字添加零$num = 0012312;
(零填充)。
012 == number of count value is 3
0133 == number of count value is 4
让我知道如何解决它。
答案 0 :(得分:18)
如果您希望计算前导零,则应将其指定为字符串而不是数字。
然后,尝试计算字符数。这次,它将包括零。无需在函数内输入强制转换。
所以,现在您的代码将如下所示:
function count_digit($number) {
return strlen($number);
}
//function call
$num = "number here";
$number_of_digits = count_digit($num); //this is call :)
echo $number_of_digits;
//prints 5
答案 1 :(得分:8)
function count_digit($number) {
return strlen((string) $number);
}
//function call
$num = "012312";
$number_of_digits = count_digit($num); //this is call :)
echo $number_of_digits;
将$ num变量作为字符串。
答案 2 :(得分:0)
不需要函数包装器。答案是
$n = "00001";
mb_strlen((string) $n); // result is 5