我想在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";
}
输出
Mirco Dellarovere Artista
Nino Pepe Attore
Zoe Yan Futurista
Mino Elettricista
但我希望这样
Mirco Dellarovere Artista
Nino Pepe Attore
Zoe Yan Futurista
Mino Elettricista
怎么样?
:)谢谢
答案 0 :(得分:15)
您可pad $name
确保标准字符数。只需确保字符数(20)等于或大于最长名称的长度:
echo str_pad( $name, 20 ) . $work . "\n";
答案 1 :(得分:2)
标签/垫无聊。
使用带有预定义的$ mask的sprintf。您可以指定列宽和对齐方式。
在下面的示例中,20是第一列的宽度。如果要调整对齐方式,可以在“%-20s%s \ n”之类的列中添加-或+。有许多格式选项。参见http://php.net/manual/en/function.sprintf.php
$mask = "%20s %s\n";
foreach($pepole as $name => $work)
{
echo sprintf($mask, $name, $work);
}