PHP 在单个数字前添加前导零,即时

标签 php string numbers zero

PHP - 是否有一种快速、即时的方法来测试单个字符串,然后在前面加上前导零?

例子:

$year = 11;
$month = 4;

$stamp = $year.add_single_zero_if_needed($month);  // Imaginary function

echo $stamp; // 1104

最佳答案

您可以使用 sprintf:http://php.net/manual/en/function.sprintf.php

<?php
$num = 4;
$num_padded = sprintf("%02d", $num);
echo $num_padded; // returns 04
?>

如果小于所需字符数,它只会添加零。

编辑:正如@FelipeAls 指出的那样:

在处理数字时,您应该使用 %d(而不是 %s),尤其是在可能出现负数时。如果您只使用正数,则任一选项都可以正常工作。

例如:

sprintf("%04s", 10); 返回 0010
sprintf("%04s", -10); 返回 0-10

在哪里:

sprintf("%04d", 10); 返回 0010
sprintf("%04d", -10); 返回 -010

关于PHP 在单个数字前添加前导零,即时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5659042/

相关文章:

javascript - 难倒 : IE8 Message: Expected identifier, 字符串或数字行:82 字符:1 代码:0

mysql - 根据第二个表分隔字符串

string - 带有额外空格的多行字符串(保留缩进)

javascript - 为什么 javascript 中的 parseFloat 为我返回字符串类型?

php - 来自同一服务器上的多个数据库的查询

php - 解析邮箱(mbox 或 mbx)php

php - 如何使用 php 或 javascript 让网站上的所有用户共享通用时区?

php - PHP 中可用的整理器列表?

C# 数字基类

c++ - 收集 n 的 2 次方分解(Python、C++)