Todos se preguntarán porque en php existen dos comandos para imprimir una salida (output), y que hacen (o así parece) la misma cosa. Echo y Print ambos retornan a la pantalla lo mismo, entonces ¿Para qué tener dos diferentes constructores de lenguaje para lo mismo?

 

diferencias entre print y echo


 

Bueno, la respuesta es muy simple pero confusa, la diferencia radica en que aunque print no es una función, «se porta como una!«, por lo que cuando realices un print devolverá 1 en caso de se realice la acción o en caso de que no, mientras que echo es del tipo void, por lo que no retorna ningún valor.

 

Entonces analicemos cada uno por separado para entender mejor:

ECHO

  • Soporta varios parametros:
  •  echo "Hola","soy","un","echo","multiple";
  • Es un poco más rápido que print.
  • Se pueden escapar caracteres usando la barra invertida \ antes
  •  
    echo "

    Hola, soy Rojo!

    ";
  • Al usar comillas simples se mostrará el nombre de la variable, no su valor
  • 	$apellido = 'Obama';
    
    	echo 'Hola, $pellido !'; // Devolverá -> Hola, $apellido !
    	echo "Hola, $pellido !"; // Devolverá -> Hola, Obama !

 

PRINT

  • Al poder comportarse como una función puede usarse en ambientes en el que echo produciría un errro, tales como:
  • #Ejemplo 1
    while (print "soy un bucle infinito") { }
    // Equivale a while (1) (bucle infinito) y estaríamos mostrando siempre la cadena indicada.
    
    #Ejemplo 2
    $array=file("archivo.txt") and print "Archivo abierto con éxito";
    
    #Ejemplo 3
    $n = 0; 
    while (//condicion) { 
    	//accion
    	if(//condicion){
    		$a += print 'Se ha dado la condición';
    	}
    } 
    
    echo "La condición se dio $n veces";
    
    #Ejemplo 4
    if (print("foo") && print("bar")) {
    	// "foo" y "bar" se han impreso
    }
  • Se pueden escapar caracteres usando la barra invertida \ antes
  • print "

    Hola, soy Rojo!

    ";
  • Al usar comillas simples se mostrará el nombre de la variable, no su valor
  • 	$apellido = 'Obama';
    
    	print 'Hola, $pellido !'; // Devolverá -> Hola, $apellido !
    	print "Hola, $pellido !"; // Devolverá -> Hola, Obama !

 

Como vimos, la diferencia radica en que print se puede usar como una función por lo que se pueden usar en campos más amplios que echo, y que de hecho «echo» no devuelve una valor por lo que se ejecuta un poco más rápido aunque no sea mucho la diferencia, así que ustedes formulen sus propias conclusiones, pero en lo particular ya sabrán cuando usar echo y print para optimizar su aplicación php.

 


César Méndez

César Méndez

Curioso, introvertido e inventor. Ingeniero de sistemas, en mi tiempo libre me dedico a explorar, ven contenido de ciencia, cosmología, medicina y gatos :P
google logogoogle logo Previous post Google pagó 1,000 Millones de dólares a Apple en 2012 para ser su motor de busqueda
Next post Los Monitores H226HQL y H236HL

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *