如何将不同行中的单词对齐以像表格一样

  • 本文关键字:表格 一样 对齐 单词 php
  • 更新时间 :
  • 英文 :


我有一个 php 脚本,每次运行时都会将 3 个单词保存到文本文件中,我如何将这些单词对齐以始终位于不同行的行中的某个点,就像一个表格,例如第一个单词应该始终在行的开头, 第二个单词应该是行中 15 列,第三个单词应该是行中 30 列。

我已经研究了很长时间如何做到这一点,但我找不到适合我的答案。

这是我将 3 个变量和一个单词保存到文件中的代码

$example1 = "example1"
$example2 = "example2"
$example3 = "example3"
$myfile = fopen("example.txt", "a");
$txt =  "n$example1 $example2 word $example3";
fwrite($myfile, $txt);
fclose($myfile);

每次我运行这个 php 时,我的变量不一定是相同的长度(它们永远不会超过 15 个字符,所以我认为每列之间的距离很好(,所以它们看起来像这样......

$example1 = "example123"
$example2 = "example34"
$example3 = "exam"

目前,我在文本文件中的结果在我用这两个示例运行两次后看起来像这样

example1 example2 word example3
example123 example34 word exam

但我希望它看起来像这样

example1       example2       word example3
example123     example34      word exam
在将

行写入文件之前,您可以使用str_pad将前两个字符串分别填充到 15 个字符。

$example1 = str_pad($example1, 15);
$example2 = str_pad($example2, 15);
$myfile = fopen("example.txt", "a");
$txt =  "n$example1 $example2 word $example3";
fwrite($myfile, $txt);
fclose($myfile);

默认情况下,str_pad将在右侧用空格填充字符串。


固执己见的部分:
如果这是一个数据文件,您将在程序的其他位置读取,我真的建议使用像CSV这样的分隔格式,而不是像这样的固定宽度格式。编写代码来读取这样的格式更简单,如果文件的要点是存储将由程序读取的数据,我认为这比人类的可读性更重要。

有趣的问题,那么如果一些带有长词的小变化困扰着您,它会确认阅读整个文件并定义最长的谈话,否则您应该执行以下操作:

$example1 = "example1"
$example2 = "example2"
$example3 = "example3"
$myfile = fopen("example.txt", "a");
$txt =  "n$example1t$example2tword $example3";
fwrite($myfile, $txt);
fclose($myfile);

注意单词之间的\t,这将打印制表符

我再说一遍,对于当年不同字符差异的单词,这只能通过阅读文件并连续确定包含的最长口语单词来实现。 找到后,您需要添加尽可能多的选项卡才能移动到下一个缩进选项卡

最新更新