printf/sprintf avec des arguments de type tableau à la place des variables

Comme

$args = (
 'var1' => 'abc',
 'var2' => 'def',
);


$text = sprintf('first var is: %1$s, second one is: %2$s', $args);

Fondamentalement la $args variable est dynamique, je ne sais pas si il aura toutes les entrées ou combien.

Le texte est trop, je ne sais pas si il faudra variables qui doivent être remplacées, ou combien.

Comment puis-je faire une fonction comme celle-ci, qui en quelque sorte extrait les éléments et les remplace dans le texte, si des trucs comme %s %d, %1$s etc est présent?

  • Si le nombre de caractères génériques dans le spécificateur de format différent du nombre d'éléments dans le tableau, puis ce qui se passe?
  • Jetez un php avertissement ou de quelque chose 🙂 (ce qui ne devrait pas arriver dans des conditions normales)
  • si vous faites allusion, pour le cas où il n'y a pas de caractères génériques, mais il y a des variables disponibles, alors pas de remplacement doit être fait. Mais si il y a de plus en plus sauvage cartes, des variables, alors ce serait une erreur de cas
InformationsquelleAutor Alex | 2011-09-07