2014-12-02 133 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 
相關問題