(PHP 4, PHP 5)
echo — Affiche une chaîne de caractères
Affiche tous les paramètres.
echo() n'est pas vraiment une fonction (c'est techniquement une structure du langage), cela fait que vous n'êtes pas obligé d'utiliser des parenthèses. echo() (contrairement à d'autres structures de langage) ne se comporte pas comme une fonction, il ne peut donc pas être utilisé dans le contexte d'une fonction. De même, si vous voulez passer plusieurs paramètres à echo(), les paramètres ne doivent pas être entourés de parenthèses.
echo() dispose aussi d'une version courte, où vous pouvez faire suivre la balise PHP ouvrante d'un signe égal (=). Cette syntaxe n'est possible que si la directive de configuration short_open_tag a été activée.
J'ai <?=$foo?> foo.
Le paramètre à afficher.
Aucune valeur n'est retournée.
Exemple #1 Exemple avec echo()
<?php
echo "Bonjour le monde";
echo "Cet echo() se
répartit sur plusieurs lignes. Il affiche aussi les
nouvelles lignes";
echo "Cet echo() se\nrépartit sur plusieurs lignes. Il affiche aussi les\nnouvelles lignes";
echo "L'échappement de caractères se fait : \"comme ceci\".";
// Vous pouvez utiliser des variables avec echo()
$foo = "foobar";
$bar = "barbaz";
echo "foo is $foo"; // foo vaut foobar
// Vous pouvez aussi utiliser des tableaux
$baz = array("value" => "foo");
echo "this is {$baz['value']} !"; // c'est foo !
// Les guillemets simples annulent le remplacement des variables
echo 'foo is $foo'; // foo vaut $foo
// Si vous n'utilisez pas d'autres caractères,
// vous pouvez afficher plusieurs variables
// en les séparant par des virgules
echo $foo; // foobar
echo $foo,$bar; // foobarbarbaz
// Des personnes préfèrent passer plusieurs
// paramètres en utilisant la concaténation
echo 'Cette ', 'chaîne ', 'a été ', 'faite ', 'avec plusieurs paramètres.', chr(10);
echo 'Cette ' . 'chaîne ' . 'a été ' . 'faite ' . 'à l\'aide de la concaténation.' . "\n";
echo <<<END
Cette syntaxe s'intitule le "here document" et
permet d'afficher plusieurs lignes avec de
l'interpolation de variables. Notez que la fin de
la syntaxe doit apparaître sur une nouvelle ligne,
avec uniquement un point-virgule, et pas d'espace
de plus !
END;
// parce que echo() ne se comporte pas comme une fonction, le code suivant n'est pas valide.
($some_var) ? echo 'true' : echo 'false';
// Cependant, les lignes suivantes sont valides :
($some_var) ? print 'Oui' : print 'Non'; // print est aussi une structure de langage, mais
// il se comporte comme une fonction, donc,
// il peut être utilisé dans ce contexte.
echo $some_var ? 'Oui': 'Non';
?>
Pour une brève discussion à propos des différences entre print() et echo(), consultez cet article des FAQTs Knowledge Base : » http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40.
Note: Comme ceci est une structure du langage, et non pas une fonction, il n'est pas possible de l'appeler avec les variables fonctions.