mirror of
https://github.com/php/doc-de.git
synced 2026-03-29 10:42:12 +02:00
git-svn-id: https://svn.php.net/repository/phpdoc/de/trunk@113063 c90b9560-bf6c-de11-be94-00142212c4b1
229 lines
7.9 KiB
XML
229 lines
7.9 KiB
XML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!-- $Revision: 1.4 $ -->
|
|
<!-- EN-Revision: 1.5 Maintainer: tom Status: ready -->
|
|
<!-- CREDITS: tschuer -->
|
|
<refentry id="function.sprintf">
|
|
<refnamediv>
|
|
<refname>sprintf</refname>
|
|
<refpurpose>Gibt einen formatierten String zurück</refpurpose>
|
|
</refnamediv>
|
|
<refsect1>
|
|
<title>Beschreibung:</title>
|
|
<methodsynopsis>
|
|
<type>string</type><methodname>sprintf</methodname>
|
|
<methodparam><type>string</type><parameter>format</parameter></methodparam>
|
|
<methodparam choice="opt"><type>mixed</type><parameter>args</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<simpara>
|
|
Gibt einen an Hand des Formatierungs-Strings
|
|
<parameter>format</parameter> gebildeten String zurück.
|
|
</simpara>
|
|
<simpara>
|
|
Der Formatierungs-String wird aus keiner oder mehreren Anweisungen
|
|
gebildet: Gewöhnliche Zeichen (ausser <literal>%</literal>), die
|
|
direkt in das Ergebnis übertragen werden und
|
|
<emphasis>Umsetzungs-Anweisungen</emphasis>. Jede dieser
|
|
Anweisungen holt sich als Resultat ihre eigenen Parameter. Diese
|
|
Anweisungen gelten sowohl für die <function>sprintf</function>-
|
|
als auch für die <function>printf</function>-Funktion.
|
|
</simpara>
|
|
<para>
|
|
Jede der Formatierugs-Anweisungen besteht aus einem
|
|
Prozent-Zeichen (<literal>%</literal>), gefolgt von einem oder mehrereren
|
|
der folgenden Elemente:
|
|
<orderedlist>
|
|
<listitem>
|
|
<simpara>
|
|
Einem optionalen <emphasis>Füll-Zeichen</emphasis>, das den
|
|
String bis rechts auffüllt. Dies kann ein Leerzeichen oder eine
|
|
<literal>0</literal> (das Null-Zeichen) sein. Standardmäßig wird
|
|
mit dem Leerzeichen gefüllt. Andere Füllzeichen können durch
|
|
Voranstellen eines einfachen Anführungszeichens (<literal>'</literal>)
|
|
definiert werden. Beachten Sie die nachstehenden Beispiele.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
Einer optionalen Angabe der <emphasis>Ausrichtung</emphasis>,
|
|
ob die Ausgabe nach links oder nach rechts (default) ausgerichtet
|
|
werden soll. Standardmäßig ist die Ausrichtung rechtsbündig.
|
|
Um den Text linksbündig auszurichten müssen Sie das Zeichen
|
|
<literal>-</literal> angeben.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
Einer optionalen Zahl für die <emphasis>Längen-Angabe</emphasis>,
|
|
welche die mindestens zurückzugebende Anzahl Zeichen spezifiziert.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
Einem optionalen Wert für die Anzahl der auszugebenden
|
|
<emphasis>Dezimalstellen</emphasis> für Fließkommazahlen. Dieser
|
|
Wert hat nur Einfluss auf Werte vom Typ <type>float</type> (eine
|
|
weitere hilfreiche Funktion zur Formatierung von Zahlen ist
|
|
<function>number_format</function>).
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Einer <emphasis>Typ-Angabe</emphasis> welche den Typ enthält,
|
|
als der das Argument angesehen werden soll. Mögliche Angaben
|
|
sind:
|
|
<simplelist>
|
|
<member>
|
|
<literal>%</literal> - ein Prozent-Zeichen ("%"). Es ist kein
|
|
Argument erforderlich.
|
|
</member>
|
|
<member>
|
|
<literal>b</literal> - das Argument wird als Integer
|
|
angesehen und als Binär-Wert ausgegeben.
|
|
</member>
|
|
<member>
|
|
<literal>c</literal> - das Argument wird als Integer
|
|
angesehen und das entsprechende ASCII-Zeichen wird
|
|
ausgegeben.
|
|
</member>
|
|
<member>
|
|
<literal>d</literal> - das Argument wird als Integer
|
|
angesehen und ein Dezimalwert (signed) ausgegeben.
|
|
</member>
|
|
<member>
|
|
<literal>u</literal> - das Argument wird als Integer
|
|
angesehen und ein Dezimalwert (unsigned) ausgegeben.
|
|
</member>
|
|
<member>
|
|
<literal>f</literal> - das Argument wird als <type>float</type>
|
|
angesehen und eine Fließkomma-Zahl ausgegeben.
|
|
</member>
|
|
<member>
|
|
<literal>o</literal> - das Argument wird als Integer
|
|
angesehen und und als Oktalzahl ausgegeben.
|
|
</member>
|
|
<member>
|
|
<literal>s</literal> - das Argument wird als String angesehen
|
|
und auch als solcher ausgegeben.
|
|
</member>
|
|
<member>
|
|
<literal>x</literal> - das Argument wird als Integer
|
|
angesehen und als Hexadezimal-Wert ausgegeben (mit
|
|
Kleinbuchstaben).
|
|
</member>
|
|
<member>
|
|
<literal>X</literal> - das Argument wird als Integer
|
|
angesehen und als Hexadezimal-Wert ausgegeben (mit
|
|
Großbuchstaben).
|
|
</member>
|
|
</simplelist>
|
|
</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</para>
|
|
<para>
|
|
Seit PHP 4.0.6 unterstützt der Formatstring auch Argumente zu
|
|
numerieren/tauschen. Hier ein Beispiel:
|
|
<example>
|
|
<title>Argumente tauschen</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
$format = "There are %d monkeys in the %s";
|
|
printf($format,$num,$location);
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
Dies könnte "There are 5 monkeys in the tree" ausgeben. Aber nehmen
|
|
wir einmal an, dass wir den Formatstring in einer separaten Datei
|
|
erstellen, da wir ihn internationalisieren wollen, und deshalb wie
|
|
folgt umschreiben:
|
|
<example>
|
|
<title>Argumente tauschen</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
$format = "The %s contains %d monkeys";
|
|
printf($format,$num,$location);
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
Nun haben wir ein Problem. Die Reihenfolge der Platzhalter des
|
|
Formatstrings entspricht nicht mehr der Reihenfolge der Argumente im
|
|
Code. Wir würden gerne den Code belassen wie er ist, und einfach im
|
|
Formatstring angeben, welchen Argumenten die Platzhalter entsprechen.
|
|
Wir würden dann den Formatstring wie folt schreiben:
|
|
<example>
|
|
<title>Argumente tauschen</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
$format = "The %2\$s contains %1\$d monkeys";
|
|
printf($format,$num,$location);
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
Ein weiterer Vorteil ist, dass wir nun die Platzhalter wiederholen
|
|
können, ohne mehr Argumente im Code hinzufügen zu müssen. Zum Beispiel:
|
|
<example>
|
|
<title>Argumente tauschen</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
$format = "The %2\$s contains %1\$d monkeys.
|
|
That's a nice %2\$s full of %1\$d monkeys.";
|
|
printf($format, $num, $location);
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<simpara>
|
|
Siehe auch: <function>printf</function>,
|
|
<function>sscanf</function>, <function>fscanf</function> und
|
|
<function>number_format</function>.
|
|
</simpara>
|
|
</refsect1>
|
|
<refsect1>
|
|
<title>Beispiele:</title>
|
|
<para>
|
|
<example>
|
|
<title><function>sprintf</function>: Null-gefüllte Integer-Werte</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
$isodatum = sprintf ("%04d-%02d-%02d", $jahr, $monat, $tag);
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
<example>
|
|
<title><function>sprintf</function>: Währung formatieren</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
$money1 = 68.75;
|
|
$money2 = 54.35;
|
|
$money = $money1 + $money2;
|
|
// echo $money wird ausgeben "123.1";
|
|
$formatted = sprintf("%01.2f", $money);
|
|
// echo $formatted wird ausgeben "123.10"
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"../../../../manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|