我有一个字符串,它的内容是“24896”。现在我想在左边添加一些零,所以我尝试了:
$test = str_pad($myString, 4, "0", STR_PAD_LEFT);
结果又是“24896”,左边没有添加零。我在这里错过了什么吗?
谢谢!
我有一个字符串,它的内容是“24896”。现在我想在左边添加一些零,所以我尝试了:
$test = str_pad($myString, 4, "0", STR_PAD_LEFT);
结果又是“24896”,左边没有添加零。我在这里错过了什么吗?
谢谢!
的第二个参数str_pad()
取最终字符串的全长;因为你通过了 4 并且长度$myString
是 5,所以什么都不会发生。
您应该选择至少比示例值大一的宽度,例如:
str_pad($myString, 9, '0', STR_PAD_LEFT);
// "000024896"
更新
这可能很明显,但是如果您总是希望在前面有 4 个零$myString
:
'0000' . $myString;
因为您将其填充到长度 4,并且您的字符串长度24896
为 5 个字符,因此它不需要填充任何内容,因为它已经超过 4 个字符长。
函数中的第二个参数str_pad
是字符串的新长度。
尝试
$myString = "24896" ;
$test = str_pad($myString, strlen($myString) + 4, "0", STR_PAD_LEFT);
echo $test;
输出
000024896
假设您不知道它有多长,请先制作垫子并附上它。无需计算原始字符串的长度:
$x = 4;
$pad = str_pad('', $x, '0');
$test = $pad.$myString;
或更好
$x = 4;
$test = str_pad('', $x, '0').$myString;
您在 str_function 中指定的长度小于输入字符串阅读文档正确尝试这个它会为您工作
您的字符串是 5 个字符,例如 $myString=24896; 现在你想在左边加 5 个零
那么你的长度就是你 string + 5 实际是 5+5=10;
现在将它传递给函数你的函数将是这样的
$test = str_pad($myString, 10, "0", STR_PAD_LEFT);
回声$测试;
输出:0000024896
您要添加多少个零?没有添加零,因为填充长度小于给定的 $myString 长度。
请试试这个
$number = 24896;
$number = sprintf('%06d', $number);
echo $number;
或使用这个
$number = 24896;
$number = str_pad($number, 6, '0', STR_PAD_LEFT);//here 6 is padding length
echo $number;
输出
024896