2014-12-02 94 views
-2

说我有一个可变$foo具有长度1和10如何用一个字符串“填充”一个可变长度的字符串?

而且还有一个可变$bar与12的长度被初始设置为Iamheretopad之间。

我想用第一个变量覆盖第二个变量右对齐

举几个例子:

$foo $bar 
1  Iamheretopa1 
123  Iamhereto123 
123456 Iamher123456 
+3

我们希望那些提出问题的人在实际解决问题时表现出一些努力。 – ikegami 2014-12-02 13:32:05

+0

对不起愚蠢的问题,但谢谢你的答案... – lanes 2014-12-02 13:47:53

回答

4

如果$条长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 
相关问题