我试图限制字符串的字符。另外,如果字符串小于所需的字符,我想为其添加填充。
function create_string($string, $length) {
$str_len = strlen($string);
if($str_len > $length) {
//if string is greater than max length, then strip it
$str = substr($string, 0, $length);
} else {
//if string is less than the required length, pad it with what it needs to be the length
$remaining = $length-$str_len;
$str = str_pad($string, $remaining);
}
return $str;
}
我的输入是
“Nik's Auto Salon”
这是16个字符。第二个参数是40
。
但是,返回此字符串
"Nik's Auto Salon "
只添加了八个填充字符。这似乎不对。
我也试过这个字符串:
Gold Package Mobile Car Detail
使用此输入,它返回一个字符串,其中添加了无填充。当该短语短于我在第二个参数位置所需的45长度时。
如何根据我的规格使此功能正常工作?
答案 0 :(得分:4)
str_pad
不会添加等于其第二个参数的空格,它会将字符串填充到第二个参数中给出的长度。即使在documentation中,这也不是很清楚。
请尝试此操作(并取出计算$remaining
的行):
$str = str_pad($string, $length);