Mailinglisten-Archive |
Lutz Zetzsche schrieb:
> Hallo Ringo,
>
> Am Freitag, 26. Oktober 2007 schrieb Ringo Großer:
>> Ist sprintf an die Lokalisierung angebunden? Im Quercus [1] wird
>> nämlich explizit auf diesen Umstand eingegangen:
>>
>> "The most noticeable difference is that printf is not used anymore
>> and that "%d%d%d" has been changed to "[_0]/[_1]/[_2]". Because
>> printf placeholders are not unique and their positions may change in
>> another language, we cannot use printf. Instead, we use Quercus
>> gettext ordered placeholders."
>
> ok, das ist natürlich ein Punkt. Änderst Du bei printf() sprachabhängig
> die Reihenfolge der Platzhalter, mußt Du auch die Reihenfolge der
> Parameter ändern, die Du übergibst. Das stimmt.
Das stimmt nicht. Sowie bei printf() als auch bei sprintf() lässt sich
die Reihenfolge der Platzhalter bestimmen. Das geht auch aus der
PHP-Manual hervor [1].
So wäre der Platzhalter '%1$d' immer das erste Argument nach dem
angegebenen String. Mehrfachverwendung geht natürlich auch:
printf('First comes %1$s then %2$s, and not first %2$s and then
%1$s','foo','bar');
oder hab ich was falsch verstanden?
ciao
ulf
[1] http://www.php.net/manual/de/function.sprintf.php
- siehe 'Argumente tauschen'
php::bar PHP Wiki - Listenarchive