组合宽度sprintf

时间:2012-10-05 23:45:44

标签: php formatting printf

我想要组合两个字符串并且不超过一定的宽度。

$string = sprintf("%4(%s %s)", $s1, $s2);
//s1 s

注意合并%s%s的宽度是否超​​过4。

如何使用sprintf执行此操作?

谢谢!

2 个答案:

答案 0 :(得分:1)

我不知道如何使用sprintf这样做但您可以使用substr()来执行此操作;

$string = substr("$s1 $s2",0,4);

这应该返回相同的结果

答案 1 :(得分:1)

您可能需要在问题中添加更多详细信息 - 如果字段长度超过3个字符(4个空格),您希望发生什么?

但也许这就是你想要的:

sprintf("%.4s", "$s1 $s2");

这将输出组合字符串"$s1 $s2",修剪为4个字符。当然substr会做同样的事情,这在更长格式字符串的上下文中可能会有用。

说实话,我之前没有意识到精确说明符(.后跟数字)可以与%s一起使用。