Quero a seguinte saída: -
Prestes a deduzir 50% dos 27,59 € da sua conta de recarga.
quando eu faço algo assim: -
$variablesArray[0] = '€';
$variablesArray[1] = 27.59;
$stringWithVariables = 'About to deduct 50% of %s %s from your Top-Up account.';
echo vsprintf($stringWithVariables, $variablesArray);
Mas isso me dá esse erro vsprintf() [function.vsprintf]: Too few arguments in ...
porque considera o %
in 50%
também para substituição. Como eu escapei?
@ Sandeepan:
—
BoltClock
vsprintf
pertence à mesma família de funções que printf
. A documentação correta para encontrar o formato, porém, é php.net/sprintf . As duas páginas apontam para ele: "Consulte sprintf () para obter uma descrição do formato". Você pelo menos não clicou?
@Col. Estilhaços ok tudo bem, vamos dar php.net/sprintf, onde está a resposta? Está na metade da página
—
Sandeepan Nath
With printf() and sprintf() functions, escape character is not backslash '\' but rather '%'.
O que há para votar aqui? Não era tão óbvio para mim como era para você. Se você encontrar uma pergunta duplicada, poderá escrever melhor o link. Mas tenho certeza que muitos acharão essa pergunta útil. Mas você não aceita isso e ainda diz algo, eu sei.
oh Eu pensei que o segundo comentário foi pelo coronel Shrapnel, desculpe
—
Sandeepan Nath
O SO deve ter um sinalizador para respostas RTFM. É quase como se as pessoas corressem para poder dizer às pessoas para lerem os documentos. Ele precisava de ajuda e fez uma pergunta e, em seguida, alguém respondeu prestativamente e conseguiu pontos. O mundo continuou e a internet foi usada para o benefício de alguém. Enquanto isso, estou esquentando uma discussão de dois anos.
—
rob5408
escape
ouescaping
nos doisphp.net/printf
e emphp.net/vsprintf
ambos não mostra a resposta imediatamente. Quando procuro,%%
ele mostra a resposta em php.net/printf, mas eu não sabia%%
!!! Você procurou a resposta lá antes da votação?