10

我正在计算 PHP 中的位数。我只想计算数据库的数字值。在第一个数字为零表示,它不会作为计数的数字。

例如:

12  ==number of count value is 2
122 ==number of count value is 3

我可以通过function.here实现我的功能。

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

让我知道如何解决它。

4

3 回答 3

24

如果您希望也计算前导零,则应将其分配为字符串而不是数字。

然后,尝试计算字符数。这一次,它将包括零。无需在函数内键入 cast。

因此,现在您的代码将如下所示:

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
于 2013-06-11T05:50:44.687 回答
9
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 变量设为字符串。

于 2013-06-11T05:51:05.687 回答
0

不需要函数包装器。答案是

$n = "00001";
mb_strlen((string) $n);  // result is 5
于 2020-04-22T02:41:45.080 回答