我有一个字典,键和值都是字符串。我想在左对齐的键和右对齐的值的行上打印每个键值对。
Key1 Test
Key2 BlahBlah
等等...
用PHP做到这一点的最佳方法是什么?也许使用printf的聪明方法?
最佳答案
试试这个:
printf("%-40s", "Test");
40
告诉printf填充字符串,以便它占用40个字符(这是填充说明符)。 -
告诉填充在右边(这是对齐说明符)。参见conversion specifications documenation。
因此,要打印整个数组:
$max_key_length = max(array_map('strlen', array_keys($array)));
$max_value_length = max(array_map('strlen', $array));
foreach($array as $key => $value) {
printf("%-{$max_key_length}s %{$max_value_length}s\n", $key, $value);
}
在这里尝试:http://codepad.org/ZVDk52ad
关于php - 用printf进行右对齐,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7380868/