猿问

如何将不同行中的单词对齐为表格

我有一个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


噜噜哒
浏览 180回答 2
2回答

阿波罗的战车

您可以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$example1\t$example2\tword $example3";fwrite($myfile, $txt);fclose($myfile);注意单词之间的\ t,这会打印制表符我再说一遍,对于那些具有不同字符的年份的单词,只有通过读取文件并依次确定包含的最长的单词才能做到。一旦找到,您需要添加所需数量的标签,以移至下一个缩进标签
随时随地看视频慕课网APP
我要回答