php printf添加数字输出

时间:2012-06-01 11:33:18

标签: php printf

我想使用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

谢谢

2 个答案:

答案 0 :(得分: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 :(得分: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";
}