Я хочу наступний результат: -
Ви збираєтесь відняти 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, де відповідь? Це на півдорозі сторінки.
—
Sandeepan Nath,
With printf() and sprintf() functions, escape character is not backslash '\' but rather '%'.
Що тут можна зробити? Для мене це було не так очевидно, як це було для вас. Якщо ви знайдете повторне запитання, краще напишіть посилання. Але я впевнений, що багато хто вважатиме це питання корисним. Але ти цього не сприймеш, і ти все одно щось скажеш, я знаю.
о, я подумав, що другий коментар був полковником Шрапнелем, вибачте
—
Sandeepan Nath
Так повинен бути прапор для відповідей RTFM. Це майже як люди тролять просто так, щоб вони могли сказати людям читати документи. Йому була потрібна допомога і поставлена запитання, а потім хтось корисно відповів і отримав бали за це. Світ продовжувався, а Інтернет використовувався на чиюсь користь. Тим часом я нагріваюся над дворічним аргументом.
—
rob5408
escape
абоescaping
в обох,php.net/printf
і вphp.net/vsprintf
обох випадках не відображає відповідь відразу. Коли я шукаю%%
його, ви знайдете відповідь на php.net/printf, але про це я не знав%%
!!! Ви шукали відповідь там, перш ніж звертатись до зворотного збору?