Valid XHTML 1.0 Transitional CSS Valide !

PHP 3 : les élements de contrôle

L’exécution de programmes nécessite de faire des choix et/ou de répéter certaines séquences d’instructions. On appelle ces techniques, des structures de contrôle. Elles sont deux types :
(i) les structures itératives, pour répéter un ensemble d’actions un nombre de fois déterminé,
(ii) les structures alternatives, qui permettent de réaliser des actions en fonction d’une condition, généralement appelée condition logique.

Dans bien des cas, il va être nécessaire de réaliser des tests, des comparaisons, sur des variables, pour définir les actions à effectuer. Les opérateurs de comparaison sont les mêmes qu’en Javascript :

De plus, il est possible :

3-1 Structures de contrôle

3-1-1 Structures conditionnelles ou altenatives

Elles sont au nombre de deux tout comme en algorithme.

  1. Si : deux syntaxes possible :
  2. if(condition){instructions}

    if(condition){instructions}else{instructions}

  3. Cas : syntaxe
  4. switch(variable){
    case valeur1:instructions
    break;
    case valeur2:instructions
    break;
    ...
    case valeurn:instructions
    break;
    default:
    instructions
    }
    NB : la structure switch ... case ... est une structure particulièrement bien adaptée à la réalisation de menus. En effet, en fonction d’un choix réalisé, on pourra effectuer une action associée. L’exemple suivant présente un exemple des différentes structures alernatives
3-1-2 Structures itératives, appelées aussi répétitives ou boucle

Elles sont au nombre de 3.

  1. La boucle while : à utiliser lorsque l’on ne connaît pas, au préalable, le nombre d’itérations que l’on va réaliser.
    syntaxe :
    while(condition){instructions}

  2. La boucle do ... while(...); : à utiliser lorsque l’on ne connaît pas, au préalable, le nombre d’itérations que l’on va réaliser.
    Contrairement à la boucle while dans le cas de la boucle do ... while(...); le bloc est au moins exécuté une fois ! do{instructions}while(condition);

  3. La boucle for : à utiliser lorsque l’on connaît, au préalable, le nombre d’itérations que l’on va réaliser.
    La structure de cette boucle est composée de trois éléments : l’initialisation, le test (la condition) et l’incrément (la façon d’évoluer).
    La syntaxe :
    for(initialisation ; test ; incrément){
    instructions
    }
L’exemple suivant présente un exemple des différentes structures itératives

3-2 Le HTML au delà de PHP

L’embarquement de code PHP peut se faire «au dela du HTML» : il est possible de commencer une structure dans une partie script PHP et de la terminer dans une autre partie de script PHP, ce qui n’est pas possible en Javascript !

0 0
1 1
2 2
3 3
4 4

Même si l’exemple permet d’entrevoir des possibilités de simplification d’écriture du code PHP, il faut garder à l’esprit qu’un code trop «entrelacé» risque d’être difficile à relire et à maintenir !

3-3 Quelques variables relatives au WEB

Il est possible de récupérer un ensemble d’informations relatives à la connexion, et plus particulièrement au navigateur et à la configuration du client. Du côté serveur, il est possible d’obtenir des informations grâce aux variables d’environnement suivantes :

Du côté client, il est possible d’obtenir des informations grâce aux variables d’environnement suivantes :

L’accès aux informations précédentes, se fait par l’intermédiaire du tableau super global $_SERVER. Ce tableau est un tableau associatif, qui n’est pas «indexé» par des valeur numériques, mais par le nom des variables à récupérer.
Par exemple, pour récupérer la valeur du type de serveur on fera :

Apache/ProXad [Jan 23 2019 20:05:45] Server at web.doc.free.fr Port 80

Il est possible d’obtenir la totalité des variables d’environnement en utilisant la fonction phpinfo(), cette fonction affiche dans la page la configuration générale du serveur, ainsi que les informations relatives à la configuration de l’interpréteur PHP. L’exemple suivant nous montre comment obtenir des informations sur le client ainsi que sur le serveur.

Variables côté serveur :

Variables côté client :

Cliquer ici pour retourner à la page d'accueil