2011-01-10 9 views
6

conozco sprintf, pero ¿cómo puedo usar el mismo parámetro en cualquier lugar?php formato sprintf cadena

ejemplo
sprintf("blabla %s 11111 %s", "test"); 

-es decir unos parametros, pero quiero poner 'prueba' en dos lugares sin duplicar

+0

http://php.net/sprintf – deceze

Respuesta

15

Usar la notación %$ marcador de posición numerada:

sprintf('blabla %1$s 11111 %1$s', "test"); 

Aquí, dos apariciones de %1$s se reemplazará por "test". Hay más sobre esto en el sprintf() manual page.

+1

no funciona, muestra Variable indefinida: s – kusanagi

+3

@kusanagi: Sí, me equivoqué, reemplaza las comillas dobles con comillas simples (o usa '% 1 \ $ s' pero eso es feo) – BoltClock

4

Esto se conoce como "intercambio argumento" y documentados en el ejemplo # 3 aquí: http://php.net/sprintf Uso "%1$s", utilizar el argumento 1, puede utilizar esto varias veces dentro de su cadena de formato, como se muestra en el ejemplo # 4 de documentación en línea php .