NoShade.net est en vente — Contactez nous si vous êtes intéressé
Le siteTutoriauxInterviews
icone RSS NoShade.net

Accueil » Tutoriaux » PHP » Chapitre 2.4 : La concaténation + Evaluation

Les tutoriaux Php

2.4 - La concaténation + Évaluation

La concaténation

Nous allons voir ici ce qu'est la concaténation et pourquoi il est très pratique de l'utiliser.

Jusqu'ici, lorsque vous vouliez afficher une chaîne de caractères à l'écran à l'aide de l'instruction echo, vous faisiez comme ceci :

<?php echo "Bonjour ! Je suis débutant en PHP."?>

A partir de maintenant, je vais vous demander d'utiliser les apostrophes '' à la place des guillemets "". Ainsi, notre "nouvel" echo donne :

<?php echo 'Bonjour ! Je suis débutant en PHP.'?>

Mais ça ne change rien me diriez-vous ! En effet, le résultat affiché sera le même. Mais arrive maintenant la concaténation. Derrière ce mot qui semble être inventé par une bande de gourous de l'informatique se cache en fait un simple point comme celui ci: ( . ) :D
Ce point va nous servir à séparer le texte brut des variables. Ainsi, notre echo sera plus lisible et plus "propre".

Bon, pour vous montrer ce que ça donne, rien ne vaut un bon exemple.
Nous avons une variable $aliment qui vaut "steak tartare" (ça me donne faim tout ça :D). Si nous voulons l'afficher à la suite d'une autre phrase, nous utiliserons alors la concaténation, et procéderons ainsi :

<?php
    $aliment 
'steak tartare'// On stocke l'aliment dans une variable simple
    
echo 'Mon aliment préféré est le ' $aliment// On affiche le tout
?>

Là, je pense que quelques explications s'imposent !
Comme prévu, on a séparé la chaîne de caractères qui ne contient pas de variable, du texte qui en contient. Pour se faire, on a dit à PHP à l'aide des apostrophes :
Sépare "Mon aliment préféré est le " de la variable $aliment.

C'est comme ça que l'on procède en PHP pour séparer le texte des variables. Vous pensez vous compliquer la vie mais vous verrez que la concaténation est vraiment utile, notamment en lisant le prochain chapitre. :)

Jusque là, on avait appris à écrire par exemple echo "Mon fromage préféré est le $fromage"; ...Je ne comprends plus trop là!??
Oui, apprendre la concaténation dès le début n'aurais pas été chose facile, c'est pourquoi nous avons procédé ainsi dans les cours précédents.
Si vous faites l'essai, vous verrez qu'une variable placée en plein milieu d'une phrase entre des apostrophes ne marchera pas.
Il va donc vous falloir oublier un peu ça, et vous entraîner à utiliser la concaténation dès maintenant! ;)

Un autre exemple avant de passer à l'exercice.
Nous ayons deux variables :
- $prenom qui contient mon prénom,
- $age qui contient mon âge.

On veut dire dans un echo en utilisant la concaténation que je m'appelle Gérard et que j'ai 35 ans. Normalement, si vous avez tout suivi, vous devriez être en mesure de savoir écrire ça mais comme la concaténation doit vous être encore abstraite, voici une manière de procéder :

<?php
    
// On prépare nos variables (qui seront "isolées" du texte brut je le rappelle)
    
$prenom 'Gérard'
    
$age 35;
    
// On affiche la phrase qu'on veut
    
echo 'Je m\'appelle ' $prenom ' et je suis âgé de ' $age ' ans.';
?>

Cette concaténation, un peu plus compliquée que la précédente, est en fait très simple à comprendre. Suivez moi bien :
On commence à écrire notre phrase et on rencontre une variable. Le bon réflexe est de fermer l'apostrophe, de mettre notre variable "entre points" et de rouvrir les apostrophes pour continuer la phrase. Ainsi, on procède de la même manière lorsqu'on rencontre la variable $age. :)

Sachez que les espaces entre les apostrophes et les points de la concaténation sont facultatifs. Personnellement, je préfère les utiliser pour améliorer la lisibilité de mon code mais c'est comme vous le sentez. Le code suivant affichera donc toujours "Je m'appelle Gérard et je suis âgé de 35 ans", ce n'est qu'une question de présentation :

<?php
    
// On prépare nos variables (qui seront "isolées" du texte brut je le rappelle)
    
$prenom 'Gérard'
    
$age 35;
    
// On affiche la phrase qu'on veut
    
echo 'Je m\'appelle '.$prenom.' et je suis âgé de '.$age.' ans.';
?>
Si vous êtes perdus entre tous ces points, sachez que lorsqu'on sépare une variable d'un texte, on met un point avant cette variable pour indiquer qu'il y a quelque chose avant (le texte "Je m'appelle" dans notre exemple). Si notre phrase continue, on met un point à la suite de la variable, ce qui aura pour effet de dire à PHP qu'il y a du texte à la suite de cette variable (dans notre exemple, cela correspond à "et je suis âgé de" ). :)

Voilà, je vous conseille de faire quelques essais chez vous avant de vous lancer dans le petit exercice qui va suivre pour être parés à l'attaque! :D

Évaluation

Pour situer un peu votre niveau, je vous propose de faire un petit exercice très simple mais oh combien enrichissant! Jouez le jeu et ne regardez pas la correction avant d'avoir fini : le but n'est pas de copier-coller un code que vous ne comprenez pas mais bien de faire le point sur ce que vous avez assimilé ou non tout au long de ce cours.

On vous demande...

Dans ce premier exercice, nous allons mettre en pratique trois notions : les variables, les conditions et la concaténation. Si vous avez des doutes sur un de ces points, je vous conseille de relire le cours lui correspondant.

Nous voulons vérifier si un visiteur est majeur ou mineur, à partir de son âge.
Nous écrirons en fonction de son âge par exemple :
- Vous avez 12 ans, vous êtes donc mineur.
- Vous avez 23 ans, vous êtes donc majeur.
- Vous avez 18 ans, vous êtes donc majeur.

Le "gros" du travail est donc de détecter si le visiteur est majeur ou mineur, selon son âge.

Nous rappelons pour les moins informés d'entre vous, ou pour ceux qui lisent ce cours à 4h du matin et qui sont totalement épuisés, que la majorité d'un individu, du moins en France, est acquise à l'âge de 18 ans! :D

Voilà, ça, c'est fait... maintenant : À vous de jouer! :)









(...)









Correction

Si vous regardez la correction avant même d'avoir réfléchi, je n'ai qu'une chose à vous dire : TRICHEUR! :D
Si vous avez réussi ou si vous avez séché sur un point, comparez votre script à celui-ci, vous verrez que ce n'était finalement pas si compliqué que ça! ;)

Il y a en fait deux méthodes pour réaliser ce script, une rapide et l'autre, qui insiste un peu plus sur les variables. Elles sont quasiment identiques, mis à part une variable de différence. Regardez plutôt :

Méthode simple

<?php
$age 
17// On crée la variable sur laquelle on va travailler

if ( $age >= 18 // Si le visiteur a un âge supérieur ou égal à 18 ...
{
    
//...on dit qu'il est majeur
    
echo 'Vous avez ' $age ' ans, vous êtes donc majeur.';
}
else 
// Sinon ...
{
    
//...on lui dit qu'il est mineur
    
echo 'Vous avez ' $age ' ans, vous êtes donc mineur.';
}
?>

Méthode un peu plus avancée, avec une variable en plus

<?php
$age 
'17'// On stocke l'âge du visiteur

if ( $age >= 18 // S'il est supérieur ou égal à 18
{
    
$majorite 'majeur'// Le visiteur est majeur
}
else 
//Sinon
{
    
$majorite 'mineur'// Le visiteur est mineur
}
    echo 
'Vous avez ' $age ' ans, vous êtes donc ' $majorite '.'// On l'affiche
?>

Était-ce bien compliqué ? ;)
Vous êtes libres d'utiliser la méthode que vous voulez, cela dépend des personnes. Par exemple, lors de la rédaction de ce tutoriel, je penchais plus pour la méthode simple, alors que Legibe était pour la seconde.

Vous ne trouvez pas que la variable $age est un peu ... statique ?
Je crois qu'il est grand temps que nous mettions un peu d'interactivité dans nos scripts, par exemple avec un formulaire "Dis moi quel âge as-tu?"! :)

Ca tombe bien, c'est le thème du chapitre suivant! :D

Par : Legibe & Vinchz, le 5 septembre 2006

Sommaire du cours PHP

» Sommaire
» 1.1 Avant propos
» 1.2 Que faut'il pour faire du php?
» 2.1 Écrire du texte en PHP
» 2.2 Les commentaires, les variables et les calculs
» 2.3 Les conditions
» 2.4 La concaténation + Évaluation
» 3.1 Transmission de données
» 3.2 Les fonctions + Dates et heures
» 3.3 Les Arrays (tableaux) + les boucles
» 4.1 Les bases de données
» 4.2 Lecture dans une BDD
» 4.3 Enregistrer dans une BDD
» 4.4 Modifier le contenu d'une table
» 4.5 Supprimer du contenu dans une BDD
» 4.6 Statistiques
» 5.1 Les sessions et cookies
» 5.2 Exercice : Un système de login multi-membres