Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将php字符串排列得更整齐?_Php - Fatal编程技术网

如何将php字符串排列得更整齐?

如何将php字符串排列得更整齐?,php,Php,下面是我的php的代码和输出: 代码: 输出: 5000 x 0% = 0 15000 x 1% = 150 是否有任何方法使输出排列更整齐,例如: 5000 x 0% = 0 15000 x 1% = 150 不能使用“\t”和空格,因为第一个数字可能包含5个以上的数字。如果你知道解决办法,请告诉我。对不起,英语不好。谢谢。使用stru-pad功能: $fMessage .= "\n" . str_pad($fTable[$x][2]

下面是我的php的代码和输出:

代码:

输出:

5000 x 0% = 0 
15000 x 1% = 150
是否有任何方法使输出排列更整齐,例如:

5000        x 0% = 0
15000       x 1% = 150

不能使用“\t”和空格,因为第一个数字可能包含5个以上的数字。如果你知道解决办法,请告诉我。对不起,英语不好。谢谢。

使用
stru-pad
功能:

$fMessage .= "\n" 
   . str_pad($fTable[$x][2], 12, ' ') 
   . ' x ' . $fRate[$x][1] . '% = ' . $fRate[$x+1][0];
在网站上缩进输出:

$fMessage .= "\n" 
   . str_pad($fTable[$x][2], 12, '@') 
   . ' x ' . $fRate[$x][1] . '% = ' . $fRate[$x+1][0];

$fMessage = str_replace('@', ' ', $fMessage);

echo '<code>', nl2br($fMessage), '</code>';

有一个非常好的函数叫做。它支持格式化字符串

$x1 = 5000; $x2 = 15000;
$y1 = 0;    $y2 = 1;
$z1 = 0;    $z2 = 150;

$format = "%-10s x %d%% = %d\n";
$message = '';
$message .= sprintf($format, $x1, $y1, $z1);
$message .= sprintf($format, $x2, $y2, $z2);

你的回答有道理,但不知怎么的,间隔不起作用。如果我将“”替换为诸如“\n”或“.”之类的其他对象,则工作正常。如何输出和查看结果?而
“\n”
如何代替
工作正常?这是断线。我运行这个php并在我的wordpress(网站)中显示结果。知道了。请尝试以下代码:。
标记用于单间距字体。是的,它可以工作。我没想过用这种方法。非常感谢。我尝试过你的解决方案,但在我的情况下不起作用。用户14717238回答并解决我的问题。你可以看一看。无论如何,谢谢。如果您复制代码并运行它,它将准确显示
$message
中包含的输出。遗憾的是,您没有提供数组内容。
$x1 = 5000; $x2 = 15000;
$y1 = 0;    $y2 = 1;
$z1 = 0;    $z2 = 150;

$format = "%-10s x %d%% = %d\n";
$message = '';
$message .= sprintf($format, $x1, $y1, $z1);
$message .= sprintf($format, $x2, $y2, $z2);