echo

(PHP 4, PHP 5, PHP 7)

echoMuestra una o más cadenas

Descripción

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

Muestra todos los parámetros. No se pospone ningua nueva línea adicional.

echo no es realmente una función (es una construcción del lenguaje), por lo que no se requiere el uso de paréntesis con él. echo (a diferencia de otras construcciones del lenguaje) no se comporta como una función, es decir no siempre se puede usar en el contexto de una función. Además, si se quiere pasar más de un parámetro a echo, éstos no deben estar entre paréntesis.

echo también posee una sintaxis abreviada, donde se puede poner el símbolo igual justo después de la etiqueta de apertura de PHP. Antes de PHP 5.4.0, este tipo de sintaxis abreviada únicamente funciona con la opción de configuración short_open_tag activada.

I have <?=$foo?> foo.

Parámetros

arg1

El parámetro a mostrar.

...

Valores devueltos

No devuelve ningún valor.

Ejemplos

Ejemplo #1 Ejemplos de echo

<?php
echo "Hola mundo";

echo 
"Esto abarca
multiple líneas. Los saltos de línea también
se mostrarán"
;

echo 
"Esto abarca\nmúltiples líneas. Los saltos de línea también\nse mostrarán.";

echo 
"Para escapar caracteres se hace \"así\".";

// Se pueden usar variables dentro de una sentencia echo
$foo "foobar";
$bar "barbaz";

echo 
"foo es $foo"// foo es foobar

// También se pueden usar arrays
$baz = array("valor" => "foo");

echo 
"Esto es {$baz['valor']} !"// Esto es foo !

// Si se utilizan comillas simples, se mostrará el nombre de la variable, no su valor
echo 'foo es $foo'// foo es $foo

// Si no usan otros caracteres, se puede utilizar echo para mostrar el valor de las variables.
echo $foo;          // foobar
echo $foo,$bar;     // foobarbarbaz

// Las cadenas pueden ser pasadas individualmente como varios argumentos o
// concatenadas como un único argumento
echo 'Esta ''cadena ''está ''hecha ''con múltiple parámetros.'chr(10);
echo 
'Esta ' 'cadena ' 'está ' 'hecha ' 'con concatenación.' "\n";

echo <<<END
Aquí se utiliza la sintaxis de "here document" para mostrar
múltiples líneas con interpolación de 
$variable. Nótese
que el finalizador de here document debe aparecer en una 
línea con solamente un punto y coma. ¡Nada de espacios extra!
END;

// Ya que echo no se comporta como una función, el siguiente código no es válido.
($variable) ? echo 'true' : echo 'false';

// Sin embargo, el siguiente código funcionará:
($variable) ? print 'true' : print 'false'// print también es una construcción, pero
                                            // se comporta como una función, por lo que
                                            // puede usarse en este contexto.
echo $variable 'true''false'// dando la vuelta a la declaración
?>

Notas

Nota: Puesto que esto es una construcción del lenguaje y no una función, no puede ser llamada usando funciones variables.

Sugerencia

Un beneficio de pasar varios argumentos sobre la concatenación en echo es la precedencia del operador punto en PHP. Si se pasan varios argumentos, no serán necesarios paréntesis para forzar la precedencia:

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

Con la concatenación, el operador punto tiene mayor precedencia que los operadores de adición y ternario, por lo que se deben utilizar paréntesis para un correcto funcionamiento:

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

Ver también

add a note add a note

User Contributed Notes 1 note

up
0
Jamie Robinson
1 month ago
The {} syntax is useful for printing non array variables as well, an example to illustrate:

<?php
$foo
= "foobar";
$bar = "barbaz";

//Will produce the error: Undefined variable: $foo_
echo "$foo_$bar";

//Will print the intended string: "foobar_barbaz"
echo "{$foo}_$bar";
?>

Could even be worth getting into the habit of enclosing all variables in {} when writing echo strings, to be on the safe side.
To Top