phpbar.de logo

Mailinglisten-Archive

[php] sprintf() und variable anzahl parameter

[php] sprintf() und variable anzahl parameter

markus espenhain metwo at gmx.net
Don Jun 24 15:07:55 CEST 2004


Sebastian Mendel schrieb:

> markus espenhain schrieb:
> 
>> Sebastian Mendel schrieb:
>>
>>> markus espenhain schrieb:
>>>
>>>> moin
>>>>
>>>> ich gruebel jetzt schon die ganze zeit aber mir will nix einfallen 
>>>> (is vielleicht auch schon bisschen spaet) - ich hab nen haufen 
>>>> queries fuer diverse views die mit sprintf() zusammengebaut werden - 
>>>> jetzt soll es eine update-page geben an die query-id und die 
>>>> jeweilige parameter uebergeben werden (hatte ich mir so gedacht) - 
>>>> also muss dieser vorgang des sql-zusammenbauens noch etwas 
>>>> abstrahiert werden - problem ist sprintf() - ich haette da pauschal 
>>>> an eval() gedacht aber mein verhaeltnis zu eval() ist etwas gestoert 
>>>> ...
>>>>
>>>> hat da vielleicht jemand einen kleinen denkanstoss fuer mich?
>>>
>>>
>>> ich versteh nix!
>>>
>>> ... aber wenn ich queries zusammenbauen muss nehm ich meißt implode()
>>>
>>> z.b.
>>>
>>> $sql = '
>>>   SELECT ' . implode(',', $collumns) . '
>>>     FROM `table`
>>>    WHERE ' . implode(' AND ', $wheres)
>>
>>
>> es geht nur um ein simples ersetzen in der form
>>
>> $queries[123] = "select ... id = %1\$d ... where id = %1d";
>> $queries[124] = "select ... x = %01.2f ... where id = %d and bla= %s";
>> ...
>> $sql = sprintf($queries[123], $id);
>>
>> das funktioniert bestens nur eben im beschriebenen fall wird's 
>> kompliziert - also wenn die querie-id beliebig sein soll und somit 
>> auch die parameter fuer sprintf() variieren
>> fuer die implode-variante sind die queries zu komplex und das waere 
>> auch zu viel arbeit(unmoeglich) alles noch mal umzuschreiben - aber 
>> trotzdem danke :)
> 
> 
> vsprintf() ?

perfekt - danke :))

markus

php::bar PHP Wiki   -   Listenarchive