2012-06-01 68 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