Quiero el siguiente resultado: -
A punto de deducir el 50% de € 27.59 de su cuenta de Top-Up.
cuando hago algo como esto:
$variablesArray[0] = '€';
$variablesArray[1] = 27.59;
$stringWithVariables = 'About to deduct 50% of %s %s from your Top-Up account.';
echo vsprintf($stringWithVariables, $variablesArray);
Pero me da este error vsprintf() [function.vsprintf]: Too few arguments in ...
porque considera que el %
de 50%
también para su sustitución. ¿Cómo me escapo?
@sandeepan:
—
BoltClock
vsprintf
pertenece a la misma familia de funciones que printf
. Sin embargo, la documentación correcta para encontrar el formato es php.net/sprintf . Ambas páginas incluso lo señalan: "Ver sprintf () para una descripción del formato". ¿Al menos no lo hiciste clic?
@Columna. Metralla ok bien, tomemos php.net/sprintf, ¿dónde está la respuesta? Está a la mitad de la página
—
Sandeepan Nath
With printf() and sprintf() functions, escape character is not backslash '\' but rather '%'.
¿Qué hay para votar abajo aquí? Simplemente no era tan obvio para mí como lo fue para ti. Si encuentra una pregunta duplicada, puede escribir mejor el enlace. Pero estoy seguro de que muchos encontrarán útil esta pregunta. Pero no aceptará eso y aún dirá algo, lo sé.
oh, pensé que el segundo comentario era del coronel Metralla, lo siento
—
Sandeepan Nath
SO debería tener una bandera para las respuestas RTFM. Es casi como la gente troll solo para que puedan decirle a la gente que lea los documentos. Necesitaba ayuda e hizo una pregunta y luego alguien respondió con ayuda y obtuvo puntos por ello. El mundo continuó e Internet se usó para el beneficio de alguien. Mientras tanto, me estoy calentando por una discusión de dos años.
—
rob5408
escape
oescaping
en ambosphp.net/printf
y enphp.net/vsprintf
ambos no muestra la respuesta de inmediato. Cuando busco%%
que muestra la respuesta en php.net/printf pero yo no sabía nada%%
!!! ¿Buscó la respuesta allí antes de votar?