Tutoriel PHP

PHP

Découvez les bases de PHP dans mon support de formation dédié à ce puissant langage orienté web.


HTML HTML5 CSS Dreamweaver Bootstrap

Structures conditionnelles en PHP

Les structures conditionnelles sont trés utiles, dans de nombreux cas, vous serez amener à les utiliser.

if else

if else, permet de tester si une condtion est respectée ou non.Dans notre exmple ci dessous, si la condition est respectée, elle renvoit "instruction1", sinon "instruction2"

<?php
if(condition) {
    // instruction1;
}
else{
    // instruction2;
}
?>

Exemple basique

<?php
$gender="Homme";
if($gender=="Homme"){
    echo "Bonjour Monsieur";
}
else{
    echo "Bonjour Madame";
}
?>

Exemple avec un test sur le type de variable

is_string() permet de tester si une variable est une chaîne de caractère (Revoie true ou false)

is_integer() permet de tester si une variable est un entier (Revoie true ou false)

gettype() permet d'afficher le type de variable : string, int ...

<?php
$variable1="toto";
if(is_string($variable1)){
   echo "La variable est du texte: " .gettype($variable1);
}
elseif(is_integer($variable1)) {
   echo "La variable est un entier: " .gettype(variable1);
}
else{
   echo "La variable est une booléenne";
}
?>

Les opérateurs de comparaison

signe exemple retourne TRUE si :
== (égal) $a == $b $a est égal à $b
=== (identique) $a === $b $a est égal et du même type que $b (PHP4 seulement)
!= (différent) $a != $b $a est différent de $b
<> (différent) $a <> $b $a est différent de $b
< (inférieur) $a < $b $a est inférieur à $b
> (supérieur) $a > $b $a est supérieur à $b
<= (inférieur ou égal) $a <= $b $a est inférieur ou égal à $b
>= (supérieur ou égal) $a >= $b $a est supérieur ou égal à $b

Les opérateurs logiques

Mot-clé Signification Symbole équivalent Explication Exemple retourne TRUE si :
AND Et && Vérifie que toutes les conditions sont réalisées

$a && $b

$a and $b

$a et $b retournent TRUE
OR Ou || Vérifie qu'une des conditions est réalisée

$a || $b

$a or $b

$a ou $b retourne TRUE
xor OU exclusif   Vérifie qu'une et une seule des conditions est réalisée $a xor $b $a ou $b (exclusivement) retourne TRUE
! NON logique   Inverse l'état d'une variable booléenne (retourne la valeur 1 si la variable vaut 0, 0 si elle vaut 1) ! $a $a retourne FALSE

Plusieurs conditions avec ET

Il est possible d'imbriquer plusieurs conditions avec AND.
Dans ce cas, les conditions combinées doivent être respectées pour renvoyer "instruction1", sinon elle renvoit "instruction2"

<?php
// Plusieurs conditions avec et
if(condition1 AND condition2) {
    // instruction1;
}
else {
    // instruction2;
}
?>

Exemple avec AND

Si l'âge est >= à 18ans et l'emploi est = à sécurité, l'accès est autorisé sinon l'accès est refusé.

<?php
$age=18;
$emploi="securité";
if($age>=18 AND emploi=="sécurité") {
echo "Accès autorisé";
}
else {
echo "Accès refusé";
}
?>

Plusieurs conditions avec OU

Il est possible d'imbriquer plusieurs conditions avec OR.
Dans ce cas l'une ou l'autre des conditions combinées doivent être respectées pour renvoyer "instruction1" sinon elle renvoir "instruction2"

<?php
// Plusieurs conditions avec ou
if(condition1 OR condition2) {
    instruction1;
}
else {
    instruction2;
}
?>

Exemple avec OR

Si l'emploi est = à "sécurité" ou = "gardiennage" l'accès est autorisé sinon l'accès est refusé.

<?php
$emploi="securité";
if(emploi=="gardiennage" OR emploi=="sécurité") {
echo "Accès autorisé";
}
else {
echo "Accès refusé";
}
?>

if elseif else

Nous pouvons combiner un certains nombre de conditions avec if elseif else ....
Si la condition1 est respectée, elle renvoit "instruction1", sinon on teste la condition2
Si la condition2 est respectée, elle renvoit "instruction2"
Sinon elle renvoit enfin le dernier test "instruction3"

<?php
// 3 cas de figure
if(condition1) {
    // instruction1;
}
elseif (Condition2){
   //  instruction2;
}
else {
    // instruction3;
}
?>

<?php
if($poids>=100){
   echo "C'est Lourd";
}
elseif($poids>=80){
   echo "Il faut faire attention";
}
elseif($poids>=60){
   echo "C'est parfait";
}
elseif($poids>=40){
   echo "C'est léger";
}
else {
   echo "C'est maigre";
}
?>

Exercices if elseif else

switch

switch($age){
case "condition1":
   // instruction;
   break;

case "condition2":
   // instruction;
   break;

case "condition3":
   // instruction;
   break;

default:
   // instruction;
   break;
}
<?php
switch($age){

case 15:
   echo "Vous êtes mineur.";
   break;
case 20:
   echo "C'est le meilleur âge";
   break;
case 40:
   echo "C'est l'âge de la maturité";
   break;
case 60:
   echo "C'est bientôt la retraite";
   break;
default:
   echo "Votre âge n'est pas défini";
   break;
}
?>

Exercice switch

Tester si une variable est bien définie avec isset

La fonction isset() verifie si une variable est bien définie,

Ce n'est que dans ce cas qu'elle renvoie la valeur vrai (true), dans le cas inverse, le résultat du test est false.

isset($variable)

<?php
$var="toto";
if(isset($var) && $var=="toto"){
    echo "C'est bien toto<br>";
}
else{
    echo "Ce n'est pas toto";
}
?>

Exercices isset()

empty($variable)

La fonction empty() détermine si une variable est vide ou non.
Elle retourne TRUE si la chaîne passée en argument est vide

<?php
$prenom="Paul";
if(empty($prenom)){
echo "La variable est vide";
}
else{
echo "La variable n'est pas vide, elle est de type " .gettype($prenom);
}
?>
La variable n'est pas vide, elle est de type string

Exercice empty()