感谢您的支持。 我有一个字符串,例如,32个字符。首先,我想建立字符串最多32个字符,如果只是字符,我想添加空格,例如,9。
示例:
ABCDEFGHI ---> 9个字符
我想要这个:
ABCDEFGHI_ _ __ _ __ _ __ _ ---&gt ;自动添加9个字符+23个空格。
谢谢
答案 0 :(得分:5)
您正在寻找的功能是str_pad
。
http://php.net/manual/de/function.str-pad.php
$str = 'ABCDEFGHI';
$longstr = str_pad($str, 32);
默认的填充字符串已经是空格。
由于您的最大长度应为32,并且str_pad
在字符串超过32个字符时不会执行任何操作,您可能需要使用substr
将其缩短,然后:
http://de.php.net/manual/de/function.substr.php
$result = substr($longstr, 0, 32);
如果你的字符串长度正好是32个字符,那么这也不会采取任何行动,所以你现在总是在$result
中找到一个32个字符的字符串。
答案 1 :(得分:1)
使用str_pad:
str_pad('ABCDEFGHI', 32);
答案 2 :(得分:1)
使用str_pad
功能:
$result = str_pad($input, 32, " ");
答案 3 :(得分:1)
您需要str_pad
$padded = str_pad($in,32,' ');
你可以左右填充大量选项,全部检查here
如果输入超过32个字符,则不采取任何措施,但这很容易实现:
if (strlen($padded) > 32)
{
throw new Exception($padded.' is too long');//or some other action
}
答案 4 :(得分:0)
我不是PHP开发者,但我认为this就是你想要的。
答案 5 :(得分:0)
for($i=0;$i<(32-strlen($your_string));$i++)
{
$new_string.=$your_string.' '
}
希望对你有所帮助
答案 6 :(得分:0)
如果您想在功能中进行更多自定义,可以使用此
function fill($input, $length, $filler = ' ')
{
$len = strlen($input);
$diff = $length - $len;
if($diff > 0)
{
for ($i = 0; $i < $diff; $i++)
{
$input = $input . $filler;
}
}
return substr($input, 0, $length);
}
答案 7 :(得分:-3)
$str = "ABCDEFGHI";
for ($i = 0; $i < 23; $i++) {
$str .= " ";
}
这就是你想要的?
当看到其他评论时,那将是最好的解决方案。