Autor Zpráva
JiriK
Profil *
Dobrý den, omlouvám se za ten název, nevěděl jsem jak to pořádně nazvat, ale vysvětlím v čem je problém. Mám třídu String, která provádí různé funkce nad řetězci. Má i metodu Format pro formátování řetězců, na to bude využívat funkci sprintf.
Tato metoda vypadá zatím zhruba takto:
 public static function Format($string)
    {
        $args = func_get_args();
        unset($args[0]); //odstraní z pole $string

        //return new String(sprintf($string, /*tady budou parametry předané metodě Format*/));
    }

Použití:
String::Format("Dneska je %s. %s. %s", 22, 12, 2012);
Problém je v tom, že nevím jak všechny parametry které předám metodě Format dostat do funkce sprintf.
Děkuji
Tori
Profil
call_user_func_array
místo unset se vám asi spíš hodí array_shift
JiriK
Profil *
Chápu to správně, ta funkce přijímá ten řetězec a pole argumentů že jo?
Díky moc, přeju veselé Vánoce :)
Davex
Profil
Místo sprintf() použij vsprintf($string, $args).
JiriK
Profil *
Takže tím pádem nepotřebuju tu call_user_func_array?
Davex
Profil
V tomto případě nepotřebuješ.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: