如何计算php中包含零的数字位数

10 php numbers count counting

我正在计算PHP中的数字位数.我只想计算数据库的数字值.在第一个数字有零意味着,它不会作为计数的数字.

例如:

12  ==number of count value is 2
122 ==number of count value is 3
Run Code Online (Sandbox Code Playgroud)

我可以通过function.here我的函数实现这一点.

function count_digit($number)
{
    return strlen((string) $number);
}

$number = 12312;
echo count_digit($number); // 5
Run Code Online (Sandbox Code Playgroud)

但我需要为该数字添加零$num = 0012312;(零填充).

012 == number of count value is 3
0133 == number of count value is 4
Run Code Online (Sandbox Code Playgroud)

让我知道如何解决它.

Kev*_*vin 20

如果您希望计算前导零,则应将其指定为字符串而不是数字.

然后,尝试计算字符数.这次,它将包括零.无需在函数内部输入强制转换.

所以,现在你的代码看起来像这样:

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
Run Code Online (Sandbox Code Playgroud)

  • 它必须在他指定的时候引用它或者没有希望......如果他不是因为php解释数字的前导0为八进制,他可能会看到各种各样的愚蠢. (3认同)
  • @ KevinPaladin ..工作得很完美......我很想念这个引用.现在它工作得很完美......真棒答案......谢谢...... :-) (3认同)
  • 他应该在将$ number传递给函数之前执行此操作,以保留前导零. (2认同)

小智 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;
Run Code Online (Sandbox Code Playgroud)

将$ num变量作为字符串.