【问题标题】:How to add zero/zeroes at the beginning of an integer value in PHP?如何在 PHP 中整数值的开头添加零/零?
【发布时间】:2015-04-05 07:31:57
【问题描述】:

我有一个名为 $value 的变量,如下所示:

$value = 5985;

如果我 echo 05985; 打印 15。我知道 PHP 将此数字视为八进制并打印 15 但我不想要 15 我希望前导零/零前缀到变量 $value 中包含的值。

但我想让它长五位数或六位数。在这种情况下,我需要将前导零/零添加到变量$value 中包含的值。当我添加这些前导零并回显变量 $value 时,它应该如下所示:

05985; //If I want five digit number
005985; //If I want six digit number

我搜索并尝试了以下方法,但没有成功。

str_pad($value, 8, '0', STR_PAD_LEFT);
sprintf('%08d', $value);
echo $value;

那么有人可以建议我怎么做吗?

谢谢。

【问题讨论】:

  • 一个 int 是一个数字。数字没有任何数字,因此您不能在任何地方添加前导零。重要的区别是数字和数字表示之间的区别,您需要特定的表示。为此,有一些格式化函数可以用零或空格填充数字。但是,您不能在代码中编写这样的数字,因为 PHP 需要某种格式的表示形式,正如您自己注意到的那样。也就是说,str_pad() 为我工作。

标签: php variables integer prefix octal


【解决方案1】:

Sprintf 不直接改变它的第二个参数的值,它返回结果。试试

$value = sprintf('%08d', $value);

【讨论】:

    【解决方案2】:

    你需要把它当作一个字符串来处理。

    $number = '05433';
    
    Echo $number;
    

    应该给你你想要的。您也可以像这样添加零

    $number = '0' . $number;
    

    【讨论】:

      猜你喜欢
      • 2018-02-16
      • 2016-01-31
      • 2011-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-21
      • 2023-04-10
      • 1970-01-01
      相关资源
      最近更新 更多