gpt4 book ai didi

php - 如何在php中的控制台上进行对齐

转载 作者:IT王子 更新时间:2023-10-29 01:19:44 24 4
gpt4 key购买 nike

我正在尝试通过 PHP 中的命令提示符运行脚本并尝试以表格形式显示结果。但是由于单词的字符长度不同,我无法正确对齐显示结果。

我想要这样的结果

Book                  ISBN      Department
Operating System 101 CS
C 102 CS
java 103 CS

任何人都可以帮助我在控制台上的 php 中获得这样的输出。

提前致谢

最佳答案

如果您不想(或出于某种原因不允许)使用库,您可以使用标准 php printf/sprintf功能。

他们的问题是,如果您的值的宽度可变且不受限制,那么您将不得不决定是否截断长值或破坏表格的布局。

第一种情况:

// fixed width
$mask = "|%5.5s |%-30.30s | x |\n";
printf($mask, 'Num', 'Title');
printf($mask, '1', 'A value that fits the cell');
printf($mask, '2', 'A too long value the end of which will be cut off');

输出是

|  Num |Title                          | x |
| 1 |A value that fits the cell | x |
| 2 |A too long value the end of wh | x |

第二种情况:

// only min-width of cells is set
$mask = "|%5s |%-30s | x |\n";
printf($mask, 'Num', 'Title');
printf($mask, '1', 'A value that fits the cell');
printf($mask, '2', 'A too long value that will brake the table');

我们得到了

|  Num |Title                          | x |
| 1 |A value that fits the cell | x |
| 2 |A too long value that will brake the table | x |

如果这两者都不能满足您的需求,并且您确实需要一个具有流动宽度列的表格,那么您必须计算每列中值的最大宽度。但这正是 PEAR::Console_Table 的工作原理。

关于php - 如何在php中的控制台上进行对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7039010/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com