2011-11-08 19 views

Respuesta

64

Las comillas simples no analizarán las variables de PHP dentro de ellas. Utilice comillas dobles o use un punto para extender el eco.

$variableName = 'Ralph'; 
echo 'Hello '.$variableName.'!'; 

O

echo "Hello $variableName!"; 

Y en su caso:

$i = 1; 
echo '<p class="paragraph'.$i.'"></p>'; 
++i; 

O

$i = 1; 
echo "<p class='paragraph$i'></p>"; 
++i; 
+0

Supongo que solo la primera funcionaría para mi instancia ya que la variable no está separada de la palabra. – Mechaflash

+1

No, no debería importar, ya que el segundo no está generando ningún espacio entre "párrafo" y el resultado de la variable. – Simon

+0

El tercer won es lo que funciona para mí. Pero entiendo la diferencia entre comillas dobles e individuales. Solo que estoy editando un programa de código abierto para hacer algunas personalizaciones menores y no quiero cambiar demasiado el formato. – Mechaflash

2

Use comillas dobles:

$i = 1; 
echo " 
<p class=\"paragraph$i\"> 
</p> 
"; 
++i; 
10

La interpolación de variables no ocurre en comillas simples. Es necesario utilizar comillas dobles como:

$i = 1 
echo "<p class=\"paragraph$i\"></p>"; 
++i; 
5
echo '<p class="paragraph'.$i.'"></p>' 

debe hacer el truco.

6
echo '<p class="paragrah"' . $i . '">' 
+0

+1 para usar Zend codificación estándar de espacio entre concatenadores de período – user

4
echo '<p class="paragraph'.$i.'"></p>'; 
0

Puede probar este

$i = 1 
echo '<p class="paragraph'.$i.'"></p>'; 
++i; 
+0

@ Mechaflash buena pregunta había preguntado aquí –

14

Siempre usa comillas dobles cuando se utiliza una variable dentro de una cadena y la barra invertida cualquier otro comillas dobles, excepto el de inicio y finalización queridos. También puede usar los corchetes siguientes, de modo que es más fácil encontrar las variables dentro de las cadenas y hacer que se vean más limpias.

$var = 'my variable'; 
echo "I love ${var}"; 

o

$var = 'my variable'; 
echo "I love {$var}"; 

Por encima de devolvería el siguiente: Me encanta mi variable de

-2

veces "Mi varaiable: $ {value}";

3

Aquí están las 3 mejores maneras de hacerlo.

Método uno:

$x = '+3'; 
echo "1+2$x"; 

comillas (") le permite simplemente pasa la variable directamente en su interior

método:.

$x = '+3'; 
echo '1+2'.$x; 

Cuando no desea utilizar comillas dobles por cualquier razón, vaya con esto. El (.) simplemente significa "Agregar" básicamente. Así que si usted fuera a querer añadir algo como: 1 + 2 + 3 + 4 + 5 y que su variable en todo lo que tiene que hacer la media es:

$x = '+3'; 
echo '1+2'.$x.'+4+5'; 

Método 3: (Adición de una variables directamente dentro de la variable llamada)

$x = '+3'; 
$y = '+4'; 
$z = '+5'; 
echo "1+2${"x".$y.$z}"; 
Output: 1+2+3+4+5 

Aquí estamos añadiendo $y y $z-$x utilizando el "."; El {} prioriza el trabajo dentro de él antes de representar la variable indefinida .

Este personal es una función muy útil para llamar a funciones como:

//Add the Get request to a variable. 
$x = $_GET['tool']; 

//Edit: If you want this if to contain multiple $xresult's change the if's 
//Conditon in the "()" to isset($get). Simple. Now just add $xresultprogram 
//or whatever. 
if($x == 'app') { 
    $xresultapp = 'User requested tool: App'; 
} 

//Somewhere down far in HTML maybe... 

echo ${"xresult".$x}; 
//Note: doing ${"xresult".$_GET['tool']} directly wont work. 
//I believe this is because since some direct non-echo html was loaded 
//before we got to this php section it cant load cause it has already 
//Started loading client side HTML and JS. 

, herramienta solicitada usuario Este emitiría $ de xresultapp: App si lo hicieran example.com?tool=app. Puede modificar con una instrucción else para definir lo que sucede cuando algo se solicita, luego se solicita e.t.c. Recuerde que todo es sensible a mayúsculas y minúsculas, por lo que si solicitan la aplicación en mayúsculas, no generará $ xresultapp.

Cuestiones relacionadas