Apprendre les conditions et les comparaisons en PHP

En général, les langages de programmation sont linéaires et cela signifie que chaque instruction est exécutée à la suite depuis le début de la page. Le PHP n'échappe pas à la règle, mais il arrive que vous ayez besoin de gérer des situations spéciales. Par exemple, vous créez une page de bienvenue en PHP pour vos visiteurs. Dans cette page, vous leur proposez de s'abonner à votre flux RSS ou aux mises à jour par mail. C'est déjà une application en PHP que vous pouvez faire facilement avec un script. Mais qu'est-ce qui se passe si vous avez des visiteurs réguliers ? Ils verront encore et encore la même page de bienvenue alors qu'il faut afficher deux pages selon le type de visiteur (nouveau et régulier). Le PHP peut délivrer différentes pages selon l'interaction ou l'historique du visiteur. Et en fait, c'est la base d'un site internet dynamique qui est de réagir selon différentes conditions.

Un exemple de condition en PHP


Si vous savez comment assigner une valeur à une variable, alors vous pouvez créer un code tel que :

$jour="Bonjour";
echo $jour
$soir="Bonsoir";
echo $soir

Ceci est un code linéaire et si vous l'exécutez, il affichera simplement bonjour et bonsoir. La seule manière de changer l'affichage est de modifier l'ordre des variables. Mais ce bout de code devient un petit programme intéressant si vous ajoutez une condition. Cette dernière peut vérifier l'heure dans le système du visiteur ou celui du serveur et afficher le message approprié tel que :

if (heure<=18 heures)

{

echo $jour

}

else

{

echo $soir

}


Cet exemple n'est pas la syntaxe du PHP, mais il vous donne une idée des déclarations de condition. On vérifie si l'heure est inférieure à 18 heures et si c'est le cas, alors on affiche bonjour sinon on affichera bonsoir. Pour comparer des variables ou des valeurs, le PHP utilise différents symboles (==, =>, =<, >, etc). Le signe (==) compare si les deux valeurs sont identiques. Attention, un simple signe d'égal implique l'assignation à une variable et il ne faut pas confondre les deux ! Ensuite, on a la comparaison supérieure ou égal à, et inférieur ou égal à. On a également la condition négative par le symbole (!=) qui signifie la comparaison entre deux valeurs qui ne sont pas identiques. En plus de la condition, on a la boucle qui est utilisée par les fonctions (for, while et do... while). Une boucle vous permet de répéter une action telle que la demande d'une adresse mail dans la base de donnée et d'envoyer un message à cette adresse.

Comparer des chaînes de caractères


L'une des forces du PHP est sa capacité à traiter les chaînes de caractère. L'une des fonctions les plus puissantes est ereg qui permet de vérifier la présence d'une lettre dans une valeur de texte tel que cet exemple :

ereg(?^[A-Za-z? -]+$?,$Nom)

À première vue, ce bout de code paraît complexe, mais on va le décortiquer pour une meilleure compréhension. En premier lieu, nous avons les signes (^ et $) après chaque guillemet. Cela indique que la variable $nom doit contenir les valeurs qui sont entre les symboles []. Ensuite, une variable PHP peut contenir une rangée de données en utilisant le tiret et nous l'utilisons avec A-Z et encore une fois avec a-z. Ainsi, cela signifie que l'utilisateur peut écrire toutes les lettres de l'alphabet de a-z en minuscules et en majuscules. Nous ajoutons ensuite une apostrophe et un autre tiret comme des caractères valides. Notez que les deux premiers tirets permettent de demander une rangée tandis que le dernier fait partie de la comparaison. Enfin, le signe + implique que l'utilisateur peut écrire n'importe quoi du moment qu'il y a au moins une ou plusieurs lettres valides. Cet exemple est caractéristique des formulaires HTML. Si vous laissez un champ vide alors un message vous en avertit et c'est possible grâce à ce type de code. Les déclarations, les comparaisons et les boucles du PHP nécessitent des mois entiers dans leur apprentissage. Mais si vous les combinez avec les variables alors vous pourrez déjà écrire des petites applications en PHP.