37

次のように、配列魔女一致文字列プレースホルダーがあります。

"some text %s another text %s extra text %s"

そして配列:

$array[0] match the first %s 
$array[1] match the second %s 
$array[2] match the third %s 

次のように sprintf 関数を使用して実行できると思いました。

$content = sprintf("some text %s another text %s extra text %s", $array);

しかし、これは引数が少なすぎるというエラーを返します。私は内破を使用しようとしました:

$content = sprintf("some text %s another text %s extra text %s", implode(",",$array));

前もって感謝します

4

4 に答える 4

71

vsprintfの代わりに使用してくださいsprintf。文字列をフォーマットする配列パラメータを取ります。

$content = vsprintf("some text %s another text %s extra text %s", $array);
于 2012-11-10T20:17:51.230 に答える
15

vsprintfPHP 5.6+の代替

sprintf("some text %s another text %s extra text %s", ...$array);
于 2016-09-16T09:30:26.577 に答える