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 

спасибо

Разве это не потому, что вы 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 

Есть ли какая-то особая причина, по которой вы используете 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"; }