PHP如何添加两个int并得到一个字符串

问题描述

我试图在 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);