2012-06-01 69 views
3

我想使用printf格式化一些输出,但由于某种原因,它会在每个项目之后输出一个数字。关于这是为什么以及如何修复的想法?php 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 

谢谢

回答

5

是不是只是因为你echo荷兰国际集团一printf

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 
+1

确实。你是对的。 – glasspill

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"; 
} 
+0

对不起只是重读关于用printf格式化你的答案。 – TheBestBigAl

+0

^参见MetalFrog正确的答案,这是相反的方式。 – TheBestBigAl