Voglio il seguente output: -
Sto per detrarre il 50% di € 27,59 dal tuo account di ricarica.
quando faccio qualcosa del genere: -
$variablesArray[0] = '€';
$variablesArray[1] = 27.59;
$stringWithVariables = 'About to deduct 50% of %s %s from your Top-Up account.';
echo vsprintf($stringWithVariables, $variablesArray);
Ma mi dà questo errore vsprintf() [function.vsprintf]: Too few arguments in ...
perché considera l' %
in 50%
anche per la sostituzione. Come posso evitarlo?
vsprintf
appartiene alla stessa famiglia di funzioni di printf
. La documentazione corretta per trovare il formato, tuttavia, è php.net/sprintf . Entrambe le pagine indicano anche: "Vedi sprintf () per una descrizione del formato." Non l'hai almeno cliccato?
With printf() and sprintf() functions, escape character is not backslash '\' but rather '%'.
Cosa c'è da votare qui? Non era così ovvio per me come lo era per te. Se trovi una domanda duplicata, puoi scrivere meglio il link. Ma sono sicuro che molti troveranno utile questa domanda. Ma non lo accetti e continuerai a dire qualcosa, lo so.
escape
oescaping
in entrambiphp.net/printf
edphp.net/vsprintf
entrambi non mostra immediatamente la risposta. Quando lo cerco%%
mostra la risposta in php.net/printf ma non lo sapevo%%
!!! Hai cercato la risposta lì prima di effettuare il downgrade?