uso str sprintf scientific number array php escaping printf

php - str - sprintf html



PHP sprintf escapando% (3)

¿Qué tal esto?

$variablesArray[0] = ''%''; $variablesArray[1] = ''€''; $variablesArray[2] = 27.59; $stringWithVariables = ''About to deduct 50%s of %s %s from your Top-Up account.''; echo vsprintf($stringWithVariables, $variablesArray);

Solo agregue su signo de porcentaje en su matriz de variables

Quiero la siguiente salida:

A punto de deducir el 50% de € 27.59 de su cuenta 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 el % en 50% también para el reemplazo. ¿Cómo escapo?


Es muy fácil.

Pon otro % delante del % original para escapar de él.

Por ejemplo,

$num=23; printf("%%d of 23 = %d",$num);

Salida:

%d of 23 = 23


Escapelo con otro % :

$stringWithVariables = ''About to deduct 50%% of %s %s from your Top-Up account.'';