Chcę następujące dane wyjściowe: -
O odliczenie 50% z 27,59 € z konta doładowania.
kiedy robię coś takiego: -
$variablesArray[0] = '€';
$variablesArray[1] = 27.59;
$stringWithVariables = 'About to deduct 50% of %s %s from your Top-Up account.';
echo vsprintf($stringWithVariables, $variablesArray);
Ale to daje mi ten błąd vsprintf() [function.vsprintf]: Too few arguments in ...
, ponieważ uważa, że %
in 50%
również do wymiany. Jak mogę uciec?
vsprintf
należy do tej samej rodziny funkcji co printf
. Prawidłową dokumentacją do znalezienia formatu jest jednak php.net/sprintf . Obie strony nawet wskazują na to: „Zobacz sprintf (), aby uzyskać opis formatu.” Nie kliknąłeś go przynajmniej?
With printf() and sprintf() functions, escape character is not backslash '\' but rather '%'.
Co można tutaj głosować? To po prostu nie było dla mnie tak oczywiste jak dla ciebie. Jeśli znajdziesz duplikat pytania, możesz lepiej napisać link. Ale jestem pewien, że wielu uzna to pytanie za pomocne. Ale nie zaakceptujesz tego i nadal coś powiesz, wiem.
escape
lubescaping
jednophp.net/printf
iphp.net/vsprintf
drugie nie pokazuje odpowiedzi natychmiast. Kiedy szukam%%
, pokazuje odpowiedź na php.net/printf, ale nie wiedziałem o tym%%
!!! Czy szukałeś odpowiedzi przed oddaniem głosu?