1. ホーム
  2. php

[解決済み] PHP の sprintf のエスケープ %.

2022-04-11 12:11:36

質問

次のような出力が欲しいのですが...。

お客様のTop-Up口座から€27.59の50%を差し引くところ。

というようなことをすると:-)

$variablesArray[0] = '€';
$variablesArray[1] = 27.59;
$stringWithVariables = 'About to deduct 50% of %s %s from your Top-Up account.';
echo vsprintf($stringWithVariables, $variablesArray);

しかし、このようなエラーが発生します。 vsprintf() [function.vsprintf]: Too few arguments in ... を考慮しているからです。 % において 50% も交換用です。どうすれば逃れられるのか?

どのように解決するのですか?

別のもので脱出する % :

$stringWithVariables = 'About to deduct 50%% of %s %s from your Top-Up account.';