Я хочу следующий вывод: -
Около 50% от € 27,59 с вашего счета пополнения.
когда я делаю что-то вроде этого:
$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%
также для замены. Как мне избежать этого?
@sandeepan:
—
BoltClock
vsprintf
принадлежит к тому же семейству функций, что и printf
. Правильная документация для поиска формата - php.net/sprintf . Обе страницы даже указывают на это: «Смотрите sprintf () для описания формата». Вы хотя бы щелкнули по нему?
@Col. Шрапнель хорошо, хорошо, давайте возьмем php.net/sprintf, где ответ? Это на полпути вниз по странице
—
Сандипан Нат
With printf() and sprintf() functions, escape character is not backslash '\' but rather '%'.
Что здесь внизу? Это было не так очевидно для меня, как для вас. Если вы найдете повторяющийся вопрос, вам лучше написать ссылку. Но я уверен, что многие найдут этот вопрос полезным. Но вы не примете это, и вы все равно что-то скажете, я знаю.
о, я думал, что второй комментарий был полковником
—
Шрапнелем
У SO должен быть флаг для ответов RTFM. Это почти как люди, которые троллят, просто чтобы они могли сказать людям, чтобы они читали документы. Он нуждался в помощи и задавал вопрос, а затем кто-то услужливо ответил и получил за это очки. Мир продолжал развиваться, а Интернет использовался для чьей-либо выгоды. Тем временем я разгораюсь из-за двухлетнего спора.
—
rob5408
escape
илиescaping
в обоихphp.net/printf
и вphp.net/vsprintf
обоих случаях не показывает ответ сразу. Когда я ищу,%%
он показывает ответ в php.net/printf, но я не знал об этом%%
!!! Вы искали ответ там перед голосованием?