如何让在控制台上的PHP对齐

如何让在控制台上的PHP对齐

本文介绍了如何让在控制台上的PHP对齐的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am trying to run a script through command prompt in PHP and trying to show the result in tabular form. But due to different character length of words I am not able to show the result properly align.

我想造成这样

图书书号系操作系统101 CSÇ102 CSjava的103 CS

Book ISBN DepartmentOperating System 101 CSC 102 CSjava 103 CS

任何人都可以请帮我得到这样该输出在PHP的主机。

Can anyone please help me to get this output like this in php on console.

在此先感谢

推荐答案

如果您不希望(或不允许出于某种原因)使用库,你可以使用标准的PHP的 /的功能。

If you don't want (or not allowed for some reason) to use libraries, you can use standard php printf / sprintf functions.

与他们的问题,如果你有可变的和非宽度有限值,那么你将不得不决定是否长期价值将被截断或破坏表的布局。

The problem with them that if you have values with variable and non-limited width, then you will have to decide if long values will be truncated or break table's layout.

第一种情况:

// 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 |

第二种情况:

Second case:

// 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');

在这里,我们得到

And here we get

|  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 完全适用。

If neither of that satisfies your needs and you really need a table with flowing width columns, than you have to calculate maximum width of values in each column. But that is how PEAR::Console_Table exactly works.

这篇关于如何让在控制台上的PHP对齐的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-15 12:11