-2
说我有一个可变$foo
具有长度1和10如何用一个字符串“填充”一个可变长度的字符串?
而且还有一个可变$bar
与12的长度被初始设置为Iamheretopad
之间。
我想用第一个变量覆盖第二个变量右对齐。
举几个例子:
$foo $bar
1 Iamheretopa1
123 Iamhereto123
123456 Iamher123456
说我有一个可变$foo
具有长度1和10如何用一个字符串“填充”一个可变长度的字符串?
而且还有一个可变$bar
与12的长度被初始设置为Iamheretopad
之间。
我想用第一个变量覆盖第二个变量右对齐。
举几个例子:
$foo $bar
1 Iamheretopa1
123 Iamhereto123
123456 Iamher123456
如果$条长12个字符,$ foo是5个字符长,那么你要$吧,7的前7个字符为长度的差异(12 -5)。
$bar = substr($bar, 0, length($bar)-length($foo)) . $foo;
或者,如果$ foo是5个字符长,则可以替换$ bar的最后5个字符。
substr($bar, -length($foo)) = $foo;
顺便说一句,如果你想填充空格或零,你可以使用sprintf
。
$bar = sprintf('%12s', $foo); # Spaces, constant size
$bar = sprintf('%*s', $size, $foo); # Spaces, variable size
$bar = sprintf('%012s', $foo); # Zeroes, constant size
$bar = sprintf('%0*s', $size, $foo); # Zeroes, variable size
我们希望那些提出问题的人在实际解决问题时表现出一些努力。 – ikegami 2014-12-02 13:32:05
对不起愚蠢的问题,但谢谢你的答案... – lanes 2014-12-02 13:47:53