Le but premier d'un script PHP étant de générer des pages HTML, il faut pouvoir afficher des chaînes de caractères à incruster aux dites pages.
Pour cela il existe des structures du langage PHP que l'on peut utiliser comme des fonctions, même si rigoureusement parlant, elles n'en sont pas : echo et print.
Exemples : On le voit, sa syntaxe est très souple, on peut l'utiliser comme une fonction en passant une chaîne de caractères entre parenthèses ou bien l'utiliser plus brutalement en "oubliant" ces mêmes parenthèses.
Il existe une syntaxe offrant un raccourci très utile vers echo : Votre nom est <?=$name?>... |
Il est tout aussi possible de passer plusieurs paramètres en argument à echo mais alors sans parenthèses impérativement.
Exemples : echo "bonjour ", $user_name , '<br>'; |
print s'utilise exactement comme echo à la différence que print retourne un booléen TRUE ou FALSE selon que l'affichage s'est bien passé ou non.
A noter que les chaînes de caractères ainsi passées à echo et à print peuvent s'étaler sur plusieurs lignes : echo "<table bgcolor=$color>
<tr>
<td>bonjour</td>
</tr>
</table>"; |
D'ailleurs, pour simplifier l'affichage d'une longue chaîne s'étalant sur plusieurs lignes, il existe une syntaxe spéciale appelée Here-Doc : echo <<<EOD
Voici une longue
"chaîne de caractères"
sur $nbr lignes !
EOD; |
Cette syntaxe consiste à délimiter la chaîne non plus par des simples ' ' ou doubles quotes " ", mais par un mot clé à votre convenance préfixé par trois symboles mathématiques inférieur <. Cette syntaxe est intéressante car elle évalue la chaîne comme le font les doubles quotes, mais il n'est plus nécessaire de déspécialiser les doubles quotes incluses dans la chaîne. A noter que le mot clé de délimitation de la fin de chaîne doit impérativement débuter sur une nouvelle ligne.
La seule différence entre echo et print, c'est que print retourne une valeur contrairement à echo.
N'oublions pas d'indiquer que printf() est la fonction du C transposée au PHP permettant le formatage des chaînes avant affichage.
|