Joachim: sprintf und dynamische argumente

hi,

hab da ein kleines prob mit sprintf(). Ich formatiere einen String, wobei die Anzahl der Argumente wechselt, sieht also so aus:

sprintf($string_1, $arg_1, $arg_2);
sprintf($string_2, $arg_1, $arg_2, $arg_3);

Um die Sache etwas eleganter zu gestalten wollte ich die Argumente dynamisch einbauen, d. h. ich moechte der Funktion lediglich einen Array uebergeben und die Kette der Argumente dynamisch zusammenbasteln.
Bin leider kläglich gescheitert.
Kann mir da mal einer auf die Spruenge helfen?

Gruesse  Joachim

  1. Hallo Joachim,

    schau Dir mal die Funktion implode() an (http://www.php.net/manual/en/function.implode.php).

    Mit dieser Funktion kannst Du Array-Element zu einem String verbinden.

    Was Du willst, sieht dann z.B. so aus:

    function my_sprintf($string, $array)
        {
            $args = implode(',', $array);
            sprintf($string, $args);
        }

    Beste Gruesse,

    Jan

    1. hi,

      $args = implode(',', $array);

      ja, das dachte ich auch erst, aber es nutzt leider nix, da ich dann lediglich _ein_ Argument erhalte: einen String, der Kommas enthält: "Warning: sprintf(): too few arguments in /home/...". Trotzdem Danke.

      Gruss  Joachim