printf( '%4$s', $link, $id, $class, $linktext); Sollte man sich aus zwei Gründen angewöhnen: 1. "%s - Der Wert wird als String interpretiert und als String ausgegeben". Man kann sich also sicher sein das eine Variable als das ausgegeben wird, als die sie vorgesehen war. Wird ein Integer anstatt eines Strings übergeben, ist es noch nicht so tragisch. Aber wenn ein String anstatt eines Integers übergeben wird, kann das schon doof sein. $width=300; $height="schröder"; $text=3; echo " $text" " An dem Beispiel sieht man dann auch schon die zweite Falle die sich mit printf vermeiden lässt. Denn die Variablen "$widthpx" und "$heigthpx" gibt es nicht. Man müsste die Werte erst in Strings umwandeln, ein "px" anhängen und dann ausgeben. Mit printf schreibt man einfach "%dpx" 2. Wenn eine Variable mehrmals verwendet wird, muss man sie nur einmal auflisten. Das erhöht die Übersichtlichkeit enorm da die Code-Zeile erheblich kürzer ausfällt. Manch einer kommt nicht damit zurecht das die Variablen hinten stehen und vorne nur Platzhalter. Für gewöhnlich mache ich nach dem Komma einen Zeilenumbruch, so dass die Variablen unter den Format-String stehen. Das lässt sich recht gut lesen und man sieht recht schnell wo welche Variable landet.