问题描述
我试图在 PHP 中将字符串“0”添加到一位数字,它也是一个字符串,例如“1”,如果它小于十,以便始终有两位数字。
然后我想在一个新变量中获取字符串“01”。
使用 strval() 或 (string) 定义所有三个变量只会将结果变量再次作为 int 返回。
有什么想法吗?
这是我试过的代码:
$zero = "0";
$number = "1";
$zero = strval($zero);
$number = strval($number);
if ($number < 10) {
global $zero;
global $number;
$result = strval($result);
$result = $zero + $number;
}
echo var_dump($result);
不幸的是,它总是返回 int(1)
另一种方法是对 int 执行相同的操作,最后将其转换为 str,但我不知道 0 + 1
会如何导致01
而不是 1
解决方法
使用 .
而不是 +
。
$result= $zero . $number;
+
将执行求和数学运算,而 .
将连接字符串。
使用 sprintf()。
echo sprintf('%02d',$number);
应该快速完成它。
,这就是 str_pad
的用途。它将填充字符数,因此您无需检查长度:
$result = str_pad($number,2,"0",STR_PAD_LEFT);