Veamos... en php hay varias formas de concatenar texto e imprimirlo.
Para la impresión hay cuatro formas básicas (creo, no recuerdo si hay más):
Usando print():$num = 5;
print ("num vale: $num");
print "num vale: $num";
Usando la función printf() ( igual al el lenguaje C ):$num = 5;
printf("num vale: %d", $num);
Usando echo(), (si no me equivoco, está basado en bash):$num = 5;
echo ("num vale: $num");
echo "num vale: $num";
Y el modo abreviado de PHP:$num = 5;
<?="num vale: $num";?>
Cabe aclarar que tanto echo() como print() no es necesario utilizarlas con los paréntesis ya que es una sentencia. También hay otras funciones como sprintf, entre otras.
Ahora bien, para concatenar cadenas hay tres formas (voy a usar echo para los ejemplo, pero si no me equivoco funciona para todas):
Variable dentro de la cadena:echo "num vale: $num";
Concatenando con puntos:echo "num vale: ".$num;
Concatenando con comas:echo "num vale: ",$num;
Ya su vez, para las cadenas de texto podemos utilizar comillas dobles
" y simples
'.
Esto nos da una gran cantidad de convinaciones. Ninguna es la ideal, peerooo.. si hay que tener en cuenta varios puntos a favor y en contra de cada una.
-Las comillas simples no permiten escape de caracteres especiales como ser \n por lo cual php las procesa más rápido.
-Las comillas dobles, permiten introducir dentro de la cadena una o muchas variables, pero no se pueden utilizar arrays cuyo índice sea un string, con este método. Esto no es válido:
echo "el primer item vale $lista['uno'] ";
-Al concatenar con
, , puede utilizarse al pasar como parámetro de función ya que php no sabe como interpretarlo.Por ejemplo:
miFuncion( "num vale",$num , 0, 10)
Lo cual si puede hacer concatenando con
. , por lo que se haría:
miFuncion( "num vale".$num , 0, 10)
-Concatenando con puntos, pueden utilizarse funciones o if abreviados . Por ejemplo:
echo " El resultado es: ".round(5.045, 2)." ".($x?"%":"$");
Creo que cubrí todas las posibilidades... y espero que fuera claro
Por último también es posible usar la sintáxix Heredoc. En lo particular no lo he utilizado mucho, pero es otra posibilidad.
echo <<<SSS
num vale: $num
SSS;
Altareum.