La concaténation
le point Tuto original de FABRICE POTEC, revu par LionZion, Molokai et Raf en août 2004
Le point
est utilisé pour concaténer des chaînes, variables etc. Prenons
l'exemple d'une phrase où un texte doit être collé au bout d'une
variable, (voyez ci-dessous), pour que php sache que le nom de la
variable s'arrête à un endroit précis, nous utiliserons le point. |
|
Le code PHP
|
Donne comme
résultat à l'écran |
<?
$date = gmdate("H\hi");
print("Il est $date"."gmt.");
?>
|
Il est 19h05gmt. |
|
|
Vous le voyez pour éviter
que PHP pense que la variable porte le nom $dategmt
, il faut refermer la double quote, mettre un point puis la rouvrir
pour mettre le restant du texte (gmt). Notez également que le second
point est lui placé entre les doubles quotes, donc, sera interprété
comme du texte simple et non pas comme une demande de concaténation. |
|
Nous allons maintenant voir la difference entre du texte entre ' ' dites simples quotes et du
textes entre double quotes " "
|
Le code PHP
|
Donne comme
résultat à l'écran |
<?
$nom = "Martin";
echo "Mon nom est $nom";
?>
|
Mon nom est Martin |
<?
$nom = "Martin";
// affichage avec des simple quote
echo 'Mon nom est $nom';
?>
|
Mon nom est $nom |
<?
$nom = "Martin";
// affichage avec des simple quote
echo 'Mon nom est '.$nom;
?>
|
Mon nom est Martin |
|
Vous l'aurez compris, PHP n’interprète pas ce qui se trouve entre simple quotes, ainsi, ce n'est pas la valeur de $nom qui est affiché, mais $nom.
Il faut donc utiliser un opérateur de concaténation (le .) pour avoir l'affichage voulu.
Pensez aussi que si vous voulez afficher un ' dans un texte entre deux ' ' , alors il faudra faire:
echo 'Aujourd\'hui';
Ainsi le \ (backslash ou antislash) indique à php qu'il ne faut pas considerer le ' du mileu comme celui qui délimite la fin de la chaîne de caractères,
mais juste un caractère comme un autre. Il en va de même pour afficher un " entre deux " ".
Ci-dessous
vous allez voir qu'il est possible de concaténer directement une
fonction et une chaîne de caractères.
|
|
Le code PHP
|
Donne comme
résultat à l'écran |
<?
print('Nous somme le '.gmdate('d-m-Y').'...');
?>
|
Nous somme le 15-09-2000... |
|
|
Nous avons réduit le code
d'une ligne, ce qui n'est pas négligeable pour les gros
développements, par contre j'admet que ceci est moins lisible pour
quelqu'un qui débute totalement, c'est à vous de choisir. |
|
Dans certains exercices
futurs, nous verrons comment appeler une page en passant quelques
variables, dans ce cas la concaténation nous servira je propose donc
de regarder le tableau ci-dessous : |
|
Ce
qu'il faut éviter de faire : |
Ce
qu'il est conseillé de faire : |
<?
$fichier = "fichier.php3?var=$var&data=$data";
?>
|
<?
$fichier = 'fichier.php3?var='.$var.'&data='.$data;
?>
|
|
|
En d'autres termes, chaque
fois que vous collez du texte et une variable (ou fonction), n'oubliez
pas de mettre le point. Je ne dis pas que
la première méthode ne fonctionne pas, mais elle n'est pas orthodoxe,
et autant prendre les bonnes habitudes tout de suite :). |
|