1

我正在尝试限制字符串的字符。此外,如果字符串少于所需的字符,我想为其添加填充。

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;
}

我的输入是

“尼克的汽车沙龙”

这是16个字符。第二个参数是40

但是,返回此字符串

"Nik's Auto Salon        "

它只添加了八个填充字符。这似乎不对。

我也试过这个字符串:

金包移动车细节

使用此输入,它会返回一个没有添加任何填充的字符串。当该短语短于所需的 45 长度时,我将其放在第二个参数位置。

我怎样才能使这个功能根据我的规格工作?

4

1 回答 1

4

str_pad不添加等于其第二个参数的空格,它会将字符串填充到第二个参数中给定的长度。即使在文档中也不是很清楚。

试试这个(并取出你计算的那一行$remaining):

$str = str_pad($string, $length);
于 2013-05-23T14:58:24.697 回答