H2 - P2019

Développement web

Cours 17 - 2016-01-25

PHP

Boucles

FOR

FOR

La boucle FOR permet d'itérer jusqu'à atteindre une condition


<?php
    for($i = 0; $i < 6; $i++)
    {
        echo $i;
    }

    // Va afficher '012345'
                    

FOR

Les différentes parties entre parenthèses sont séparées par des ;

La première correspond à l'initialisation

La deuxième correspond à la condition (si vraie, continuer)

La troisième correspond à l'action

Les { } ne sont pas nécessaires pour une seule instruction


<?php
    for($i = 0; $i < 6; $i++)
        echo $i;
                    

FOR

Exercice


<?php
    // Va afficher : ________
    for($i = 0; $i < 6; $i++)
        echo $i;

    // Va afficher : ________
    for($i = 2; $i <= 6; $i++)
        echo $i;

    // Va afficher : ________
    for($i = 6; $i > 0; $i--)
        echo $i;

    // Va afficher : ________
    for($i = 0; $i < 6; $i += 2)
        echo $i;

    // Va afficher : ________
    for($i = 0; $i < 9; $i++)
        echo $i % 3;

    // Va afficher : ________
    for($i = 10; $i < 6; $i++)
        echo $i;
                    

WHILE

WHILE

La boucle WHILE permet d'itérer tant qu'une condition est vraie


<?php
    $foo = 0;

    while($foo < 10)
    {
        $foo++;
        echo $foo;
    }
                    

WHILE

Attention aux boucles infinies


<?php
    while(true)
    {
        echo 'vers l\'infini';
    }
                    

WHILE

Les { } ne sont pas nécessaires pour une seule instruction


<?php
    $foo = 0;

    while($foo < 10)
        echo $foo++;
                    

FOREACH

FOREACH

la boucle FOREACH permet d'itérer à travers un tableau

Les accolades { } ne sont pas nécessaires pour une seule instruction


<?php
    $my_array = array('un','deux',true,4);

    foreach($my_array as $value)
    {
        echo $value;
    }
                    

FOREACH

Il est possible de récupérer la clé correspondant à la valeur


<?php
    $my_array = array(
        'toto' => 'un',
        'tata' => 'deux',
        'tutu' => true,
        'tete' => 4
    );

    foreach($my_array as $key => $value)
    {
        echo $key . ' = ' . $value . '<br />';
    }
                    

FOREACH

Cela fonctionne aussi avec avec un tableau sans clé


<?php
    $my_array = array(
        'un',
        'deux',
        true,
        4
    );

    foreach($my_array as $key => $value)
    {
        echo $key . ' = ' . $value . '<br />';
    }