Programación Web y Scripting > PHP

 Concatenación

(1/1)

x.cyclop:
Se que los puntos son para concatenar, pero, ¿qué diferencia hay con lo siguiente?:



--- Código: Text ---<?php echo "Hola $nombre"; ?>  
--


--- Código: Text ---<?php echo "Hola " . $nombre; ?> 
:think:

Altareum:
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():

--- Citar ---$num = 5;
print ("num vale: $num");
print "num vale: $num";

--- Fin de la cita ---


Usando la función printf() ( igual al el lenguaje C ):

--- Citar ---$num = 5;
printf("num vale: %d", $num);

--- Fin de la cita ---

Usando echo(), (si no me equivoco, está basado en bash):

--- Citar ---$num = 5;
echo ("num vale: $num");
echo "num vale: $num";
--- Fin de la cita ---

Y el modo abreviado de PHP:

--- Citar ---$num = 5;
<?="num vale: $num";?>

--- Fin de la cita ---

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:

--- Citar ---echo "num vale: $num";
--- Fin de la cita ---

Concatenando con puntos:

--- Citar ---echo "num vale: ".$num;
--- Fin de la cita ---

Concatenando con comas:

--- Citar ---echo "num vale: ",$num;
--- Fin de la cita ---



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:

--- Citar ---echo "el primer item vale $lista['uno'] ";
--- Fin de la cita ---

-Al concatenar con , , puede utilizarse al pasar como parámetro de función ya que php no sabe como interpretarlo.Por ejemplo:

--- Citar ---miFuncion( "num vale",$num , 0, 10)
--- Fin de la cita ---
Lo cual si puede hacer concatenando con . , por lo que se haría:

--- Citar ---miFuncion( "num vale".$num , 0, 10)
--- Fin de la cita ---

-Concatenando con puntos, pueden utilizarse funciones o if abreviados . Por ejemplo:

--- Citar ---echo " El resultado es: ".round(5.045, 2)." ".($x?"%":"$");
--- Fin de la cita ---



Creo que cubrí todas las posibilidades... y espero que fuera claro  :P
Por último también es posible usar la sintáxix Heredoc. En lo particular no lo he utilizado mucho, pero es otra posibilidad.


--- Citar ---echo <<<SSS
num vale: $num
SSS;

--- Fin de la cita ---


Altareum.

x.cyclop:
Uf, qué explicación. ¡Gracias! B)

ing_marco:
Es una explicacion como para que no quede dudas  :D

Navegación

[0] Índice de Mensajes

Ir a la versión completa