Función echo PHP Características

php funcion echo

Compatibilidad con las versiones de PHP 4, PHP 5, PHP 7, PHP 8.

Muestra una echo serie de texto de una o varias cadenas de texto. Las declaraciones de PHP echo e print difieren entre echo e print: es que echo puede generar una o más cadenas, solo imprimir permite que se genere una cadena. Otras de las ventajas de echo () es que es un poco más rápida que la print ().

Sintaxis del echo

void echo ( string $arg1 [, string $... ] ) ;

Genera echo todos los parámetros y no les agrega una nueva línea después. Como tal echo no es una función en el sentido explícito de la palabra, es una construcción del lenguaje, por lo que no tiene que agregarle paréntesis. A diferencia de otras estructuras de lenguaje, echo no se comporta como funciones, por lo que no siempre se puede utilizar en el contexto de funciones. 

Si queremos usar la función con más de un parámetro, estos parámetros no necesitan estar entre paréntesis. Tiene echo una forma más corta, el signo igual se puede escribir justo = después de la etiqueta de inicio del código PHP. Antes de la versión de PHP 5.4.0 teníamos que activar la propiedad short_open_tag para que pudiéramos usar el atajo para escribir su propiedad.

I have <?=$foo?> foo.

Se diferencia echo de su contraparte print‎ en que acepta una lista de transacciones y no devuelve ningún valor.

Parámetros del echo

arg1

El parámetro que estamos tratando de mostrar.

Otros parámetros opcionales que nos gustaría mostrar. Esta no se devuelve ningún valor.

Ejemplos de echo

Un sencillo y variado ejemplo del uso echo

<?php
echo "Hello World";

echo "This spans
multiple lines. The newlines will be
output as well";

echo "This spans\nmultiple lines. The newlines will be\noutput as well.";

echo "Escaping characters is done \"Like this\".";
// podemos usar operadores dentro de la función
$foo = "foobar";
$bar = "barbaz";
echo "foo is $foo"; // foo is foobar
// También se pueden utilizar matrices 
$baz = array("value" => "foo");
echo "this is {$baz['value']} !";
//¡esto es foo!
// Use comillas simples para mostrar el nombre del parámetro, no su valor
echo  'foo es $ foo' ; // foo es $ foo
// Las variables se pueden usar directamente si no se usan otros caracteres
echo $foo;          // foobar
echo $foo,$bar;     // foobarbarbaz
// La cadena se puede insertar como un conjunto de parámetros individuales, uno a la vez, o como un solo parámetro utilizando la función de combinación de cadenas.
echo 'This ', 'string ', 'was ', 'made ', 'with multiple parameters.', chr(10);

echo 'This ' . 'string ' . 'was ' . 'made ' . 'with concatenation.' . "\n";

echo <<<END
Esto usa la sintaxis "aquí documento" para generar 
múltiples líneas con interpolación de $ variable. Tenga en cuenta 
que el terminador del documento aquí debe aparecer en una 
línea con solo un punto y coma. ¡sin espacios en blanco adicionales! 
END;
//el siguiente código es incorrecto porque estamos tratando de tratar
//echo como una función 
($some_var) ? echo 'true' : echo 'false';
?>

Dado que echo es una construcción del lenguaje y no una función en el sentido explícito, no puede ser utilizado por funciones variables.

Sugerencia: La ventaja de usar múltiples parámetros dentro de echo es usar la función de concatenación en la prioridad del parámetro de concatenación (.parameter). Si se pasan varios parámetros, no es necesario indicar la precedencia agregando paréntesis:

<?php
echo "Sum: ", 1 + 2;
echo "Hello ", isset($name) ? $name : "John Doe", "!";

El operador de unión al fusionar cadenas tiene un alto grado de precedencia en comparación con el operador de suma y el operador ternario, por lo que se deben insertar paréntesis para obtener el comportamiento deseado.

<?php
echo 'Sum: ' . (1 + 2);
echo 'Hello ' . (isset($name) ? $name : 'John Doe') . '!';