以列形式显示php cli输出
我想在php cli脚本中以列形式输出长度可变的数据 例如:以列形式显示php cli输出,php,Php,我想在php cli脚本中以列形式输出长度可变的数据 例如: $pepole = Array( 'Mirco Dellarovere' => 'Artista', 'Nino Pepe' => 'Attore', 'Zoe Yan' => 'Futurista', 'Mino' => 'Elettricista' ); foreach($pepole as $name => $work) { echo "$name\t$work\n";
$pepole = Array(
'Mirco Dellarovere' => 'Artista',
'Nino Pepe' => 'Attore',
'Zoe Yan' => 'Futurista',
'Mino' => 'Elettricista'
);
foreach($pepole as $name => $work)
{
echo "$name\t$work\n";
}
输出将是
Mirco Dellarovere Artista
Nino Pepe Attore
Zoe Yan Futurista
Mino Elettricista
但我想这样
Mirco Dellarovere Artista
Nino Pepe Attore
Zoe Yan Futurista
Mino Elettricista
怎么做
:)谢谢您可以$name
确保标准字符数。只需确保字符数(20)等于或大于最长名称的长度:
echo str_pad( $name, 20 ) . $work . "\n";
标签/垫子很无聊
使用带有预定义$mask的sprintf。您可以指定列宽和对齐方式
在下面的示例中,20是第一列的宽度。如果要调整对齐方式,可以在列中添加-或+,如“%-20s%s\n”。有许多格式化选项。看
您需要使用足够的制表符来说明每列中尽可能宽的文本。如果没有其他内容,请尝试输出
\t\t\t
,而不仅仅是\t
。谢谢乔治·康明斯,我认为你的是一个很好的解决方案。。。谢谢
$mask = "%20s %s\n";
foreach($pepole as $name => $work)
{
echo sprintf($mask, $name, $work);
}