如何打印输出以使变量列对齐?

时间:2018-06-13 02:39:49

标签: php string

我想在列中对齐输出。但是,当我尝试这样做时,我总是得到这个:

1. FIRSTNAME1      LASTNAME1 
2. FIRSTNAME2     LASTNAME2
3. FIRSTNAME3    LASTNAME3

我想要的输出是这样的:

 1. FIRSTNAME1          LASTNAME1   D. 
 2. FIRSTNAME2          LASTNAME2   D.
 3. FIRSTNAME3          LASTNAME3   D.

这是我使用的代码:

$log  = $lastname."    ".$firstname.PHP_EOL;

file_put_contents('logs/'.date("Y-m-d").'.txt', $log, FILE_APPEND);

1 个答案:

答案 0 :(得分:0)

你的名字有不同的长度,所以如果你想要你的"列"为了对齐,只需连接几个空格就不会削减它。

您需要填充该字符串,以便后面的名称+空格总是加起来相同的字符数。

幸运的是,已经有了实现这一目标的功能:str_pad

$log  = strpad($lastname, 16) . ' ' . $firstname . PHP_EOL;

显然,您需要选择对数据有意义的填充长度。否则,任何更长的$lastname都会弄乱你想要的输出。