Ich suche nach einer Möglichkeit, benannte Argumente für sprintf
oder printf
zu verwenden.
Beispiel:
%Vor% oder über vsprintf
und ein assoziatives Array.
Ich habe hier einige Codierungsbeispiele gefunden
%Vor%und hier
%Vor%wo Leute ihre eigenen Lösungen geschrieben haben.
Aber meine Frage ist, gibt es vielleicht eine Standard-PHP-Lösung, um dies zu erreichen, oder gibt es einen anderen Weg, vielleicht mit einem einfachen PHP-Templating von PEAR, dass ich dies erreichen kann, indem ich Standard-PHP halte?
>Danke für jede Hilfe.
Soweit ich weiß, akzeptiert printf / sprintf keine assoziierten Arrays.
Es ist jedoch möglich, printf('%1$d %1$d', 1);
Besser als nichts;)
Ich habe eine kleine Komponente genau für diesen Bedarf geschrieben. Es heißt StringTemplate . Damit können Sie bekommen, was Sie wollen mit einem Code wie folgt:
%Vor%Ich hoffe, das kann helfen.
Ich weiß, dass das jetzt zu lange geklärt ist, aber vielleicht ist meine Lösung einfach genug, aber nützlich für jemand anderen.
Mit dieser kleinen Funktion können Sie ein einfaches Templating-System nachahmen:
%Vor%Benutze es so:
%Vor%Dies würde ausgeben:
%Vor%Vielleicht nicht für jeden und jeden Fall, aber es hat mich gerettet.
Dies ist wirklich der beste Weg, um imho zu gehen. Keine kryptischen Zeichen, benutze einfach die Schlüsselnamen!
Wie von der PHP-Seite übernommen: Ссылка
%Vor% Seit 5.3 wegen des use
-Schlüsselwortes:
Diese Funktion unterstützt die Formatierung {{var}} oder {{dict.key}}. Sie können die {{}}
in {}
usw. ändern, damit sie Ihnen gefällt.
Beispiel:
%Vor%Ausgabe:
Das ist Jim, ich bin 20 Jahre alt, ich habe eine Katze namens Huang.
Tags und Links php templates printf string.format named-parameters