3

printf を使用して出力をフォーマットしたかったのですが、何らかの理由で各項目の後に数値が出力されます。これがなぜであり、どのように修正できるかについてのアイデアはありますか?

$array = array("Mo" => "09:30-19:00",  
          "Di" => "09:30-19:00", 
          "So" => "geschlossen");

foreach( $array as $key => $value ){
     echo printf("%3s:%15s", $key, $value);
}

出力

Mo: 09:30-19:0019 Di: 09:30-19:0019 So: geschlossen19

ありがとうございました

4

2 に答える 2

5

をしているからではありませんechoprintf

http://codepad.org/1KtxR9JF

<?php

$array = array("Mo" => "09:30-19:00",  
          "Di" => "09:30-19:00", 
          "So" => "geschlossen");

foreach( $array as $key => $value ){
     printf("%3s:%15s", $key, $value);
}

 Mo:    09:30-19:00 Di:    09:30-19:00 So:    geschlossen
于 2012-06-01T12:02:53.917 に答える
0

echo printf(...)だけでなく、使用している特定の理由はありますechoか?

そうでない場合、これを使用すると正しく返されます (19 が追加されることなく):

$array = array("Mo" => "09:30-19:00",  
          "Di" => "09:30-19:00", 
          "So" => "geschlossen");

foreach( $array as $key => $value ){
     echo "$key:$value";
}
于 2012-06-01T11:57:29.363 に答える