2011-09-11 25 views
4

私はキーと値の両方が文字列である辞書を持っています。私は左揃えのキーと右揃えの値で、それぞれのキーと値のペアを独自の行に出力したいと考えています。printfで右揃え

Key1  Test 
Key2 BlahBlah 

等... PHPでこれを行うための最善の方法は、

何ですか?おそらくprintfで行う巧妙な方法ですか?

+0

HTMLテーブルおそらく –

答えて

8

はこれを試してみてください:それは40個の文字をとるように

printf("%-40s", "Test"); 

40(これはパディング指定子です)パッドに文字列をprintf関数に指示します。 -は、右側のパッドを指示します(これは位置合わせ指定子です)。

​​を参照してください。ここでそれを試してみてください

$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