用空格填充字符串的其余部分
感谢您的支持。 我有一个字符串,例如32个字符。对于第一,我想estabilish该字符串具有最多32个字符,我想添加空格字符,如果仅仅是,例如,9用空格填充字符串的其余部分
实施例:
ABCDEFGHI ---> 9个字符
我想这一点:
ABCDEFGHI_ _ __ _ __ _ __ _ --- > 9个字符+自动添加23个空格。
谢谢
你正在寻找的功能是str_pad
。
http://php.net/manual/de/function.str-pad.php
$str = 'ABCDEFGHI';
$longstr = str_pad($str, 32);
默认字符串垫已经是空白。
当你的最大长度应为32,当该字符串的长度超过32个字符,你可能要缩短下来使用substr
然后str_pad
不会采取任何行动:
http://de.php.net/manual/de/function.substr.php
$result = substr($longstr, 0, 32);
如果您的字符串长度恰好为32个字符,则再次不会采取任何措施,因此现在您总是以$result
结尾为32个字符的字符串。
谢谢大家,这是完整的解决方案。 – user1499315 2012-07-19 09:26:32
$str = "ABCDEFGHI";
for ($i = 0; $i < 23; $i++) {
$str .= " ";
}
这是你想要的吗?
当看到其他评论时,那将是最好的解决方案。
这是非常糟糕的... – 2012-07-19 09:06:13
使用str_pad
功能:
$result = str_pad($input, 32, " ");
你需要str_pad
$padded = str_pad($in,32,' ');
您可以有向左或向右填充,选项吨,检查他们全力以赴here
如果输入超过32个字符,不采取任何行动,但这是一个易于执行的检查:
if (strlen($padded) > 32)
{
throw new Exception($padded.' is too long');//or some other action
}
for($i=0;$i<(32-strlen($your_string));$i++)
{
$new_string.=$your_string.' '
}
希望将有助于您
非常好的方法,但是当有内置的方法,我们不应该尝试定制设计的逻辑..我希望你明白了我的观点.. – rummykhan 2015-11-15 01:48:23
[格式化用PHP前导零的一些(可能的重复http://stackoverflow.com/questions/1699958/formatting-a-number-with -leading-in-php) – 2016-12-06 15:53:48