Ver Mensaje Individual
  #7 (permalink)  
Antiguo 02/10/2010, 09:20
Avatar de egepe
egepe
 
Fecha de Ingreso: diciembre-2009
Mensajes: 310
Antigüedad: 14 años, 4 meses
Puntos: 7
Respuesta: Insertar variable bajo instrucción echo

Manuelete:

Ese es un típico error de principiante, fijate lo siguiente:

$valor1 = "ABC"; $valor2=10;

1)puedes hacer esto como ya le dijeron

echo "valor1 = " . $valor1 . " valor2 = " . $valor2;

la salida será : valor1 = ABC valor2 = 10

2) esto

echo "valor1 = $valor1 valor2 = $valor2";

y hará lo mismo que en el caso (1)

3) esto

echo 'valor1 = ' . $valor1 . ' valor2 = ' . $valor2;

el resultado es valor1 = $valor1 valor2 = $valor2.

Esto se debe a que las comillas dobles (") leen el contenido que tienes los valores antecedido por $ (o sea las variables: $valor1 y $valor), pero las comillas simples (') ven cualquier dato como un literal, o sea $valor1 y $valor2)

hay otros casos un poco mas complejos como por ejemplo:

$a['valor1'] = "ABC"; $a['valor2'] = 10;

para el caso de arriba sería

echo "valor1 = ". $a['valor1'] . " valor2 = " . $a['valor2'];

daría el mismo valor del (1);

ahora ve esto

$campo1 = "valor1"; $campo2="valor2";

puedes hacer esto

echo "valor1 = " . $a[$campo1] . " valor2 = " . $a[$campo2];

o así

echo "valor1 = $a[$campo1] . " valor2 = $a[$campo2]";

sería lo mismo

bueno luego hay una mezcla con \ en el caso de las personas que usan siempre comillas dobles (") sobre todo en los array $a["valor1"], yo te recomendaría en este cado que siempre uses comillas simples en lo array para el valor referencias $a['valor1'].

Igualmente te recomendaría algo como esto

caso con html

ejemplo base

<table width="250px" border="2" align="center"> esto va muy bien en html, pero con un echo en php sería así

echo "<table width=\"250px\" border=\"2\" align=\"center\">";

yo siempre lo hago así:

echo "<table width='250px' border='2' align='center'>";

y podría hacer algo así

$width="250px; $border=2; $align = "center";

echo "<table width='$width' border='$border' align='$align'>";

como veraz en este caso con las comillas simples (') no ocurre lo que te explique arriba, ya que se encuentran dentro de un echo abierto con comillas dobles (")

Bueno espero que te sirva saludos