<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.strings.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'de',
  ),
  'this' => 
  array (
    0 => 'function.sprintf.php',
    1 => 'sprintf',
    2 => 'Gibt einen formatierten String zur&uuml;ck',
  ),
  'up' => 
  array (
    0 => 'ref.strings.php',
    1 => 'String-Funktionen',
  ),
  'prev' => 
  array (
    0 => 'function.soundex.php',
    1 => 'soundex',
  ),
  'next' => 
  array (
    0 => 'function.sscanf.php',
    1 => 'sscanf',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    'path' => 'reference/strings/functions/sprintf.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.sprintf" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">sprintf</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">sprintf</span> &mdash; <span class="dc-title">Gibt einen formatierten String zurück</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.sprintf-description">
  <h3 class="title">Beschreibung</h3>
  <div class="methodsynopsis dc-description">
   <span class="methodname"><strong>sprintf</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$format</code></span>, <span class="methodparam"><span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span> <code class="parameter">...$values</code></span>): <span class="type"><a href="language.types.string.php" class="type string">string</a></span></div>

  <p class="para rdfs-comment">
   Gibt eine anhand des Formatierungs-Strings <code class="parameter">format</code>
   gebildete Zeichenkette zurück.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.sprintf-parameters">
  <h3 class="title">Parameter-Liste</h3>
  <p class="para">
   <dl>
    

 <dt><code class="parameter">format</code></dt>
 <dd>
  <p class="para">
   Der Formatstring setzt sich aus keiner oder mehreren Anweisungen
   zusammen: Normale Zeichen (abgesehen von <code class="literal">%</code>),
   die direkt in das Ergebnis kopiert werden und
   <em>Konvertierungsanweisungen</em>, die jeweils ihre
   eigenen Parameter abrufen.
  </p>

  <p class="para">
   Eine Konvertierungsanweisung folgt diesem Prototypen:
   <code class="literal">%[ArgNum$][Flags][Weite][.Präzision]Spezifizierer</code>.
  </p>

  <p class="formalpara">
   <h5 class="title">ArgNum</h5>
   <p class="para">
    Eine Ganzzahl gefolgt von einem Dollarzeichen <code class="literal">$</code>, die die
    Nummer des Arguments angibt, das für die Konversion verwendet werden soll.
   </p>
  </p>

  <p class="formalpara">
   <h5 class="title">Flags</h5>
   <p class="para">
    <table class="doctable informaltable">
     
      <thead>
       <tr>
        <th>Flag</th>
        <th>Beschreibung</th>
       </tr>

      </thead>

      <tbody class="tbody">
       <tr>
        <td><code class="literal">-</code></td>
        <td>
         Linksbündig innerhalb der angegebenen Feldbreite;
         Rechtsbündig ist der Standard
        </td>
       </tr>

       <tr>
        <td><code class="literal">+</code></td>
        <td>
         Positive Zahlen mit einem Pluszeichen
         <code class="literal">+</code>; Standardmäßig werden nur negative
         Zahlen mit negativen Vorzeichen ausgegeben
        </td>
       </tr>

       <tr>
        <td><code class="literal"> </code>(Leerzeichen)</td>
        <td>
         Füllt das Ergebnis mit Leerzeichen auf.
         Dies ist der Standard.
        </td>
       </tr>

       <tr>
        <td><code class="literal">0</code></td>
        <td>
         Füllt nach Links mit Nullen auf.
         Mit dem <code class="literal">s</code>-Spezifizierer
         kann dies auch nach rechts mit Nullen auffüllen.
        </td>
       </tr>

       <tr>
        <td><code class="literal">&#039;</code>(Zeichen)</td>
        <td>
         Füllt das Ergebnis mit dem angegebenen Zeichen auf.
        </td>
       </tr>

      </tbody>
     
    </table>

   </p>
  </p>

  <p class="formalpara">
   <h5 class="title">Breite</h5>
   <p class="para">
    Entweder eine Ganzzahl die angibt, wie viele Zeichen (Minimum) das
    Konvertierungsergebnis haben soll oder <code class="literal">*</code>. Wenn
    <code class="literal">*</code> verwendet wird, wird die Breite als zusätzlicher
    ganzzahliger Wert angegeben, der bestimmt, wie viele Zeichen vor dem durch
    den Spezifizierer formatierten Wert stehen sollen.
   </p>
  </p>
  <p class="formalpara">
   <h5 class="title">Genauigkeit</h5>
   <p class="para">
    Ein Punkt <code class="literal">.</code>, optional gefolgt von einer Ganzzahl oder
    <code class="literal">*</code>, dessen Bedeutung vom Spezifizierer abhängt:
    <ul class="itemizedlist">
     <li class="listitem">
      <span class="simpara">
       Für die Spezifizierer <code class="literal">e</code>, <code class="literal">E</code>,
       <code class="literal">f</code> und <code class="literal">F</code>: Dies stellt die
       Anzahl der Nachkommastellen an, die nach dem Dezimaltrennzeichen
       ausgegeben werden soll (Standardmäßig ist dies 6).
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       Für die Spezifizierer <code class="literal">g</code>, <code class="literal">G</code>,
       <code class="literal">h</code> und <code class="literal">H</code>:
       Die maximale Anzahl der auszugebenenden signifikanten
       Nachkommastellen.
      </span>
     </li>
     <li class="listitem">
      <span class="simpara">
       Für den <code class="literal">s</code> Spezifizierer: Verhält sich wie ein
       Abschneidepunkt, der eine maximale Anzahl an Zeichen in der
       Zeichenkette angibt.
      </span>
     </li>
    </ul>
    <blockquote class="note"><p><strong class="note">Hinweis</strong>: 
     <span class="simpara">
      Wenn der Punkt ohne einen expliziten Wert für die Genauigkeit angegeben
      wird, wird 0 angenommen. Wenn <code class="literal">*</code> verwendet wird, wird
      die Genauigkeit als zusätzliche Ganzzahl vor dem durch den Bezeichner
      formatierten Wert angegeben.
     </span>
    </p></blockquote>
   </p>
  </p>

  <p class="para">
   <table class="doctable table">
    <caption><strong>Spezifizierer</strong></caption>
    
     <thead>
      <tr>
       <th>Spezifizierer</th>
       <th>Beschreibung</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td><code class="literal">%</code></td>
       <td>
        Ein Prozentzeichen. Kein Parameter nötig.
       </td>
      </tr>

      <tr>
       <td><code class="literal">b</code></td>
       <td>
        Der Parameter wird als Ganzzahl behandelt und
        als Binärzahl ausgegeben.
       </td>
      </tr>

      <tr>
       <td><code class="literal">c</code></td>
       <td>
        Der Parameter wird als Ganzzahl behandelt und
        als Zeichen aus dem ASCII-Zeichensatz ausgegeben.
       </td>
      </tr>

      <tr>
       <td><code class="literal">d</code></td>
       <td>
        Der Parameter wird als Ganzzahl behandelt und
        als (vorzeichenbehaftete) Dezimalzahl ausgegeben.
       </td>
      </tr>

      <tr>
       <td><code class="literal">e</code></td>
       <td>
        Der Parameter wird als Zahl in wissenschaftlicher Schreibweise
        (z. B. 1.2e+2) behandelt.
       </td>
      </tr>

      <tr>
       <td><code class="literal">E</code></td>
       <td>
        Wie der Spezifizierer <code class="literal">e</code>, aber schreibt
        einen Großbuchstaben (z. B. 1.2E+2).
       </td>
      </tr>

      <tr>
       <td><code class="literal">f</code></td>
       <td>
        Der Parameter wird als Gleitkommazahl betrachtet
        und als Gleitkommazahl ausgegeben (abhängig von der Locale).
       </td>
      </tr>

      <tr>
       <td><code class="literal">F</code></td>
       <td>
        Der Parameter wird als Gleitkommazahl betrachtet
        und als Gleitkommazahl (unabhängig von der Locale) ausgegeben.
       </td>
      </tr>

      <tr>
       <td><code class="literal">g</code></td>
       <td>
        <p class="para">
         Generelles Format.
        </p>
        <p class="para">
         Sei P gleich der Genauigkeit, wenn nicht Null, 6, wenn die Genauigkeit
         nicht angegeben ist, oder 1 wenn die Genauigkeit Null ist.
         Dann, wenn eine Konvertierung mittels E einen Exponenten von X hätte:
        </p>
        <p class="para">
         Wenn P &gt; X ≥ −4, erfolgt die Konvertierung mit Spezifizierer f und Genauigkeit
         P - (X + 1), andernfalls mit Spezifizierer e und Genauigkeit P - 1.
        </p>
       </td>
      </tr>

      <tr>
       <td><code class="literal">G</code></td>
       <td>
        Wie der Spezifizierer <code class="literal">g</code>, aber
        es wird <code class="literal">E</code> und <code class="literal">f</code> verwendet.
       </td>
      </tr>

      <tr>
       <td><code class="literal">h</code></td>
       <td>
        Wie der Spezifizierer <code class="literal">g</code>, aber es werden
        <code class="literal">F</code> verwendet. Verfügbar ab PHP 8.0.0.
       </td>
      </tr>

      <tr>
       <td><code class="literal">H</code></td>
       <td>
        Wie der Spezifizierer <code class="literal">g</code>, aber es werden
        <code class="literal">E</code> und <code class="literal">F</code> verwendet. Verfügbar ab
        PHP 8.0.0.
       </td>
      </tr>

      <tr>
       <td><code class="literal">o</code></td>
       <td>
        Der Parameter wird als Ganzzahl betrachtet und als Oktalzahl
        ausgegeben.
       </td>
      </tr>

      <tr>
       <td><code class="literal">s</code></td>
       <td>
        Der Parameter wird als Zeichenkette betrachtet und ausgegeben.
       </td>
      </tr>

      <tr>
       <td><code class="literal">u</code></td>
       <td>
        Der Parameter wird als Ganzzahl betrachtet und als
        vorzeichenlose Dezimalzahl ausgegeben.
       </td>
      </tr>

      <tr>
       <td><code class="literal">x</code></td>
       <td>
        Der Parameter wird als Ganzzahl betrachtet und als
        Hexadezimalzahl (mit Kleinbuchstaben) ausgegeben.
       </td>
      </tr>

      <tr>
       <td><code class="literal">X</code></td>
       <td>
        Der Parameter wird als Ganzzahl betrachtet und als
        Hexadezimalzahl (mit Großbuchstaben) ausgegeben.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
  <div class="warning"><strong class="warning">Warnung</strong>
   <p class="para">
    Der Spezifizierer <code class="literal">c</code> ignoriert Auffüllung und Weite.
   </p>
  </div>
  <div class="warning"><strong class="warning">Warnung</strong>
   <p class="para">
    Der Versuch, die Kombination aus Zeichenketten mit Weite-Spezifizierern
    und Zeichensätzen die mehr als ein Byte pro zeichen erwarten zu verwenden,
    führt zu unvorhersehbaren Ergebnissen.
   </p>
  </div>
  <p class="para">
   Variablen werden auf einen für den Spezifizier passenden Typen umgewandelt:
   <table class="doctable table">
    <caption><strong>Typ-Behandlung</strong></caption>
    
     <thead>
      <tr>
       <th>Typ</th>
       <th>Spezifizierer</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td><span class="type"><a href="language.types.string.php" class="type string">string</a></span></td>
       <td><code class="literal">s</code></td>
      </tr>

      <tr>
       <td><span class="type"><a href="language.types.integer.php" class="type int">int</a></span></td>
       <td>
        <code class="literal">d</code>,
        <code class="literal">u</code>,
        <code class="literal">c</code>,
        <code class="literal">o</code>,
        <code class="literal">x</code>,
        <code class="literal">X</code>,
        <code class="literal">b</code>
       </td>
      </tr>

      <tr>
       <td><span class="type"><a href="language.types.float.php" class="type float">float</a></span></td>
       <td>
        <code class="literal">e</code>,
        <code class="literal">E</code>,
        <code class="literal">f</code>,
        <code class="literal">F</code>,
        <code class="literal">g</code>,
        <code class="literal">G</code>,
        <code class="literal">h</code>,
        <code class="literal">H</code>
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </dd>


    
     <dt><code class="parameter">values</code></dt>
     <dd>
      <p class="para">
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.sprintf-returnvalues">
  <h3 class="title">Rückgabewerte</h3>
  <p class="para">
   Gibt eine anhand des Formatierungs-Strings <code class="parameter">format</code>
   gebildete Zeichenkette zurück.
  </p>
 </div>


 <div class="refsect1 errors" id="refsect1-function.sprintf-errors">
  <h3 class="title">Fehler/Exceptions</h3>
  
  <p class="para">
   Wenn die Anzahl der Argumente Null ist, wird seit PHP 8.0.0 ein <span class="classname"><a href="class.valueerror.php" class="classname">ValueError</a></span> ausgelöst.
   Vor PHP 8.0.0 wurde stattdessen eine <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> ausgegeben.
  </p>
  <p class="para">
   Wenn <code class="literal">[width]</code> kleiner als Null oder größer als <strong><code><a href="reserved.constants.php#constant.php-int-max">PHP_INT_MAX</a></code></strong> ist, wird seit PHP 8.0.0 ein <span class="classname"><a href="class.valueerror.php" class="classname">ValueError</a></span> ausgelöst.
   Vor PHP 8.0.0 wurde stattdessen eine <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> ausgegeben.
  </p>
  <p class="para">
   Wenn <code class="literal">[precision]</code> kleiner als Null oder größer als <strong><code><a href="reserved.constants.php#constant.php-int-max">PHP_INT_MAX</a></code></strong> ist, wird seit PHP 8.0.0 ein <span class="classname"><a href="class.valueerror.php" class="classname">ValueError</a></span> ausgelöst.
   Vor PHP 8.0.0 wurde stattdessen eine <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> ausgegeben.
  </p>
  <p class="para">
   Wenn weniger Argumente angegeben werden als nötig, wird seit PHP 8.0.0 ein <span class="classname"><a href="class.argumentcounterror.php" class="classname">ArgumentCountError</a></span> ausgelöst.
   Vor PHP 8.0.0 wurde stattdessen <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> zurückgegeben und eine <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> ausgegeben.
  </p>

 </div>


 <div class="refsect1 changelog" id="refsect1-function.sprintf-changelog">
  <h3 class="title">Changelog</h3>
  
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Version</th>
      <th>Beschreibung</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>8.0.0</td>
      <td>
       Diese Funktion gibt bei Auftreten eines Fehlers nicht mehr <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>
       zurück.
      </td>
     </tr>

     <tr>
      <td>8.0.0</td>
      <td>
       Wenn die Anzahl der Argumente Null ist, löst diese Funktion einen
       <span class="classname"><a href="class.valueerror.php" class="classname">ValueError</a></span> aus; vorher gab sie stattdessen eine
       <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> aus.
      </td>
     </tr>

     <tr>
      <td>8.0.0</td>
      <td>
       Wenn <code class="literal">[width]</code> kleiner als Null oder größer als
       <strong><code><a href="reserved.constants.php#constant.php-int-max">PHP_INT_MAX</a></code></strong> ist, löst diese Funktion einen
       <span class="classname"><a href="class.valueerror.php" class="classname">ValueError</a></span> aus; vorher gab sie stattdessen einen
       <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> aus.
      </td>
     </tr>

     <tr>
      <td>8.0.0</td>
      <td>
       Wenn <code class="literal">[precision]</code> kleiner als Null oder größer als
       <strong><code><a href="reserved.constants.php#constant.php-int-max">PHP_INT_MAX</a></code></strong> ist, löst diese Funktion einen
       <span class="classname"><a href="class.valueerror.php" class="classname">ValueError</a></span> aus; vorher gab sie stattdessen eine
       <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> aus.
      </td>
     </tr>

     <tr>
      <td>8.0.0</td>
      <td>
       Wenn weniger Argumente angegeben werden als nötig, löst diese Funktion
       einen <span class="classname"><a href="class.argumentcounterror.php" class="classname">ArgumentCountError</a></span> aus; vorher gab sie
       stattdessen eine <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> aus.
      </td>
     </tr>

    </tbody>
   
  </table>


 </div>


 <div class="refsect1 examples" id="refsect1-function.sprintf-examples">
  <h3 class="title">Beispiele</h3>
  <div class="example" id="example-1">
   <p><strong>Beispiel #1 Argumente tauschen</strong></p>
   <div class="example-contents"><p>
    Der Formatstring unterstützt nummerierte Argumente und kann daher auch
    ihre Position bestimmen (argument numbering/swapping).
   </p></div>
   <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$anzahl </span><span style="color: #007700">= </span><span style="color: #0000BB">5</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$ort    </span><span style="color: #007700">= </span><span style="color: #DD0000">'Baum'</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$format </span><span style="color: #007700">= </span><span style="color: #DD0000">'Es sind %d Affen auf dem %s'</span><span style="color: #007700">;<br />echo </span><span style="color: #0000BB">sprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">$format</span><span style="color: #007700">, </span><span style="color: #0000BB">$anzahl</span><span style="color: #007700">, </span><span style="color: #0000BB">$ort</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

   <div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt folgende Ausgabe:</p></div>
   <div class="example-contents screen">
<div class="annotation-interactive examplescode"><pre class="examplescode">Es sind 5 Affen auf dem Baum</pre>
</div>
   </div>
  </div>
  <p class="para">
   Aber nehmen wir einmal an, dass wir den Formatstring in einer separaten
   Datei erstellen, da wir ihn internationalisieren wollen und deshalb wie
   folgt umschreiben:
  </p>
  <div class="example" id="example-2">
   <p><strong>Beispiel #2 Falsche Reihenfolge der Argumente</strong></p>
   <div class="example-contents"><p>
    Der Formatstring unterstützt die Nummerierung/Vertauschung von Argumenten.
   </p></div>
   <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$anzahl </span><span style="color: #007700">= </span><span style="color: #0000BB">5</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$ort </span><span style="color: #007700">= </span><span style="color: #DD0000">'Baum'</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$format </span><span style="color: #007700">= </span><span style="color: #DD0000">'Auf dem %s sind %d Affen'</span><span style="color: #007700">;<br />echo </span><span style="color: #0000BB">sprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">$format</span><span style="color: #007700">, </span><span style="color: #0000BB">$anzahl</span><span style="color: #007700">, </span><span style="color: #0000BB">$ort</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>
  <p class="para">
   Nun haben wir ein Problem. Die Reihenfolge der Platzhalter im Formatstring
   entspricht nicht mehr der Reihenfolge der Argumente im Code. Wir würden gern
   den Code belassen wie er ist und einfach im Formatstring angeben, auf welche
   Argumente sich die Platzhalter beziehen.
   Wir würden dann den Formatstring wie folgt schreiben:
  </p>
  <div class="example" id="example-3">
   <p><strong>Beispiel #3 Verwenden der Reihenfolge bei Platzhaltern</strong></p>
   <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$anzahl </span><span style="color: #007700">= </span><span style="color: #0000BB">5</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$ort </span><span style="color: #007700">= </span><span style="color: #DD0000">'Baum'</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$format </span><span style="color: #007700">= </span><span style="color: #DD0000">'Auf dem %2$s sind %1$d Affen'</span><span style="color: #007700">;<br />echo </span><span style="color: #0000BB">sprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">$format</span><span style="color: #007700">, </span><span style="color: #0000BB">$anzahl</span><span style="color: #007700">, </span><span style="color: #0000BB">$ort</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>
  <p class="para">
   Ein weiterer Vorteil ist, dass die Platzhalter wiederholt werden
   können, ohne mehr Argumente im Code hinzufügen zu müssen.
  </p>
  <div class="example" id="example-4">
   <p><strong>Beispiel #4 Platzhalter mehrfach verwenden</strong></p>
   <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$anzahl </span><span style="color: #007700">= </span><span style="color: #0000BB">5</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$ort </span><span style="color: #007700">= </span><span style="color: #DD0000">'Baum'</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$format </span><span style="color: #007700">= </span><span style="color: #DD0000">'Auf dem %2$s sind %1$d Affen.<br />           %1$d Affen sind ziemlich viel für einen %2$s.'</span><span style="color: #007700">;<br />echo </span><span style="color: #0000BB">sprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">$format</span><span style="color: #007700">, </span><span style="color: #0000BB">$anzahl</span><span style="color: #007700">, </span><span style="color: #0000BB">$ort</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>
  <p class="para">
   Wenn Argumente vertauscht werden, muss die
   <code class="literal">n$</code>-<em>Positionsangabe</em> direkt nach dem
   Prozentzeichen (<code class="literal">%</code>) folgen, vor jeglichen anderen Angaben,
   wie unten zu sehen ist.
  </p>
  <div class="example" id="example-5">
   <p><strong>Beispiel #5 Angabe von Füllzeichen</strong></p>
   <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">sprintf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%'.9d\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">123</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">sprintf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%'.09d\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">123</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

   <div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt folgende Ausgabe:</p></div>
   <div class="example-contents screen">
<div class="annotation-interactive examplescode"><pre class="examplescode">......123
000000123</pre>
</div>
   </div>
  </div>
  <div class="example" id="example-6">
   <p><strong>Beispiel #6 Positionstausch mit weiteren Spezifikatoren</strong></p>
   <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$anzahl </span><span style="color: #007700">= </span><span style="color: #0000BB">5</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$ort </span><span style="color: #007700">= </span><span style="color: #DD0000">'Baum'</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$format</span><span style="color: #007700">= </span><span style="color: #DD0000">'Auf dem %2$s sind %1$04d Affen'</span><span style="color: #007700">;<br />echo </span><span style="color: #0000BB">sprintf</span><span style="color: #007700">(</span><span style="color: #0000BB">$format</span><span style="color: #007700">, </span><span style="color: #0000BB">$anzahl</span><span style="color: #007700">, </span><span style="color: #0000BB">$ort</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

   <div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt folgende Ausgabe:</p></div>
   <div class="example-contents screen">
<div class="annotation-interactive examplescode"><pre class="examplescode">Auf dem Baum sind 0005 Affen.</pre>
</div>
   </div>
  </div>
  <div class="example" id="example-7">
   <p><strong>Beispiel #7 <span class="function"><strong>sprintf()</strong></span>: Mit Nullen aufgefüllte Integer</strong></p>
   <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$jahr </span><span style="color: #007700">= </span><span style="color: #0000BB">2005</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$monat </span><span style="color: #007700">= </span><span style="color: #0000BB">5</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$tag </span><span style="color: #007700">= </span><span style="color: #0000BB">6</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$isodatum </span><span style="color: #007700">= </span><span style="color: #0000BB">sprintf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%04d-%02d-%02d"</span><span style="color: #007700">, </span><span style="color: #0000BB">$jahr</span><span style="color: #007700">, </span><span style="color: #0000BB">$monat</span><span style="color: #007700">, </span><span style="color: #0000BB">$tag</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

  </div>
  <div class="example" id="example-8">
   <p><strong>Beispiel #8 <span class="function"><strong>sprintf()</strong></span>: Währungsformatierung</strong></p>
   <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$betrag1 </span><span style="color: #007700">= </span><span style="color: #0000BB">68.75</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$betrag2 </span><span style="color: #007700">= </span><span style="color: #0000BB">54.35</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$summe </span><span style="color: #007700">= </span><span style="color: #0000BB">$betrag1 </span><span style="color: #007700">+ </span><span style="color: #0000BB">$betrag2</span><span style="color: #007700">;<br />echo </span><span style="color: #0000BB">$summe</span><span style="color: #007700">, </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$formatiert </span><span style="color: #007700">= </span><span style="color: #0000BB">sprintf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%01.2f"</span><span style="color: #007700">, </span><span style="color: #0000BB">$summe</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">$formatiert</span><span style="color: #007700">, </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

   <div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt folgende Ausgabe:</p></div>
   <div class="example-contents screen">
<div class="annotation-interactive examplescode"><pre class="examplescode">123.1
123.10</pre>
</div>
   </div>
  </div>
  <div class="example" id="example-9">
   <p><strong>Beispiel #9 <span class="function"><strong>sprintf()</strong></span>: Wissenschaftliche Notation</strong></p>
   <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$zahl </span><span style="color: #007700">= </span><span style="color: #0000BB">362525200</span><span style="color: #007700">;<br /><br />echo </span><span style="color: #0000BB">sprintf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%.3e"</span><span style="color: #007700">, </span><span style="color: #0000BB">$zahl</span><span style="color: #007700">), </span><span style="color: #0000BB">PHP_EOL</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

   <div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt folgende Ausgabe:</p></div>
   <div class="example-contents screen">
<div class="annotation-interactive examplescode"><pre class="examplescode">3.625e+8</pre>
</div>
   </div>
  </div>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.sprintf-seealso">
  <h3 class="title">Siehe auch</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.printf.php" class="function" rel="rdfs-seeAlso">printf()</a> - Liefert einen formatierten String</span></li>
    <li><span class="function"><a href="function.fprintf.php" class="function" rel="rdfs-seeAlso">fprintf()</a> - Schreibt einen formatierten String in einen Stream</span></li>
    <li><span class="function"><a href="function.vprintf.php" class="function" rel="rdfs-seeAlso">vprintf()</a> - Gibt einen formatierten String aus</span></li>
    <li><span class="function"><a href="function.vsprintf.php" class="function" rel="rdfs-seeAlso">vsprintf()</a> - Gibt einen formatierten String zur&uuml;ck</span></li>
    <li><span class="function"><a href="function.vfprintf.php" class="function" rel="rdfs-seeAlso">vfprintf()</a> - Schreibt einen formatierten String in einen Stream</span></li>
    <li><span class="function"><a href="function.sscanf.php" class="function" rel="rdfs-seeAlso">sscanf()</a> - &Uuml;bertr&auml;gt einen String in ein angegebenes Format</span></li>
    <li><span class="function"><a href="function.fscanf.php" class="function" rel="rdfs-seeAlso">fscanf()</a> - Interpretiert den Input einer Datei entsprechend einem
   angegebenen Format</span></li>
    <li><span class="function"><a href="function.number-format.php" class="function" rel="rdfs-seeAlso">number_format()</a> - Formatiert eine Zahl mit Tausender-Trennzeichen</span></li>
    <li><span class="function"><a href="function.date.php" class="function" rel="rdfs-seeAlso">date()</a> - Formatiert einen Unix-Zeitstempel</span></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>