Я хочу получить следующий результат:
О том, чтобы вычесть 50% от € 27,59 с вашего аккаунта Top-Up.
когда я делаю что-то вроде этого:
$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.';
Это очень просто.
Положите еще %
перед исходным %
чтобы избежать его.
Например,
$num=23; printf("%%d of 23 = %d",$num);
Вывод:
%d of 23 = 23
Как насчет этого:
$variablesArray[0] = '%'; $variablesArray[1] = '€'; $variablesArray[2] = 27.59; $stringWithVariables = 'About to deduct 50%s of %s %s from your Top-Up account.'; echo vsprintf($stringWithVariables, $variablesArray);
Просто добавьте свой знак процента в свой массив переменных