2011-08-12 14 views
9

Si tengo una variable $ var en esta cadena: echo "Hello, there are many $vars";PHP: variables en cadenas sin concatenación

PHP busca el variable $vars en lugar de $var.

Sin concatenación como: "Hello, there are many $var" . "s";
¿Hay alguna otra manera de hacer esto, como algún tipo de personaje que escapa?

Respuesta

23

en PHP se puede escapar de las variables al igual que

echo "Hello, ${var}'s head is big"; 

o como

echo "Hello, {$var}'s head is big"; 

Referencia here en la sección carácter de escape

+0

'{$ var}' También funcionará ... –

+0

Cosa curiosa, yo también sabía esto, pero cuando busco una referencia en la documentación de php, no puedo encontrar ninguna. Probablemente estoy buscando mal, ¿alguien lo tiene? – Joubarc

+1

Y luego, por supuesto, lo encuentro, puede ser útil como referencia: http://pa2.php.net/manual/en/language.types.string.php#language.types.string.parsing.complex – Joubarc

1

Personalmente siempre divido las variables de una cadena como esta: echo 'Hello, there are many '.$var.'s';

Mayormente porque de legibilidad, si revisas tu código, quedará inmediatamente claro dónde están las variables.

+0

Más difícil de lo que parece si hay 3 conjuntos de citas escapadas y 5 variables en 1 cadena – dukevin

+0

la legibilidad es la razón exacta por la que prefiero la otra solución –

+1

Eso realmente depende de su IDE/editor. Mi editor destaca estas variables para mí, así que siempre tengo un código legible. Además, usar '{}' para llamar a esas variables dará el efecto de legibilidad de costura. –

4

Puede usar {} para escapar de su variable correctamente. Consideremos el siguiente ejemplo:

echo "There are many ${var}s"; #Or... 
echo "There are many {$var}s"; 

Working example

Cuestiones relacionadas