Warning: session_start() [function.session-start]: open(/mnt/127/sda/chez-alice.fr/4/7/creationweb/sessions//sess_81bfe14813397ec00795cb7f70023a17, O_RDWR) failed: No such file or directory (2) in /mnt/127/sda/chez-alice.fr/4/7/creationweb/SWSystem/array_boucles.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/127/sda/chez-alice.fr/4/7/creationweb/SWSystem/array_boucles.php:2) in /mnt/127/sda/chez-alice.fr/4/7/creationweb/SWSystem/array_boucles.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/127/sda/chez-alice.fr/4/7/creationweb/SWSystem/array_boucles.php:2) in /mnt/127/sda/chez-alice.fr/4/7/creationweb/SWSystem/array_boucles.php on line 2
Tutos SWSystem: Tableaux et Boucles

Tableaux et Boucles en PHP

  • Tableaux
  • Déclaration

    $tableau= array();

    Affectation

    $marque[0]= "citroen";
    $marque[1]= "peugeot";
    $marque[] .= "renault"; // equivaut a $marque[2]= "renault"
    Equivaut à :
    $marque= array( "citroen", "peugeot", "renault" );

    Fonctions relatives

    sizeof
    Renvoie le nombre d'éléments d'un tableau. équivalent de count
    $taille= sizeof( $tableau );

    is_array
    Renvoie true si la variable est de type tableau (ou tableau associatif), false sinon.

    reset
    reset($tableau) place le pointeur interne sur le premier élément du tableau: Chaque variable tableau possède un pointeur interne repérant l'élément courant.

    end
    end($tableau) place le pointeur interne du tableau sur le dernier élément du tableau.

    current
    renvoie l'élément courant du tableau.

    next
    déplace le pointeur vers l'élément suivant, et renvoie cet élément. renvoie false si il n'existe pas

    prev
    déplace le pointeur vers l'élément précédent, et renvoie cet élément. renvoie false si il n'existe pas

    each
    $exemple=each($tableau) renvoie l'index et la valeur courante dans un tableau à 2 elements; $exemple[0] contient l'index, $exemple[1] la valeur.

    list
    list( $scalar1, $scalr2, ... ) construit un tableau temporaire à partir des variables scalaires passées en argument.

    key
    key($tableau) renvoie l'index de l'élément courant du tableau.


    sort, rsort, usort, uasort
    Differentes fonctions de tri de tableau.
    sort trie par valeurs croissantes, rsort par valeurs décroissantes
    $tableau_trie = sort( $tableau );
    usort et uasort permettent au programmeur d'implémenter lui-meme la fonction de tri utilisée.
    PHP appelle successivement La fonction doit retourner -1 / 0 / 1 suivant que le premier élément est inférieur / égal / supérieur au second.


    Tableau associatif

    Un tableau associatif est un tableau dont l'index est une chaine de caractère au lieu d'un nombre.
    On parle aussi de ``hash array''. Déclaration:
    $panier= array(); // comme un tableau

    Affectation:

    Affectons un nombre d'articles à notre panier:
    $panier["Roses"]= 150;
    $panier["Tulipes"]= 80;
    $panier["Oeillets"]= 25;


    Fonctions relatives :

    isset
    Pour tester l'existence d'un élément, on utilise la fonction isset()

    if( isset( $panier["Roses"] ) ) {
    echo "Le panier contient ". $panier['Roses'] . " Roses\n"; }
    else{
    echo "Pas de Roses dans le panier";
    }



    asort, arsort, ksort, aksort
    Ces fonctions de tri conservent la relation entre l'index et la valeur, généralement le cas dans un tableau associatif.
    asort trie par valeurs croissantes, arsort par valeurs décroissantes
    ksort trie par index (key) croissantes



  • Boucles


  • Généralités:

    L'instruction break permet de sortir d'une boucle à tout moment.
    L'instruction continue permet de revenir au début de la boucle.

    for( $i=0; $i < sizeof($tableau ); $i++ ) {
    if( $tableau[$i] == 'encore' ) {
    continue;
    }
    if( $tablo[$i] == 'fini' ) {
    break;
    }
    echo $tableau[$i], "\n";
    }


    boucle for
    for( [debut] ; [condition de fin] ; [faire a chaque fois] )
    for( $i=0; $i < sizeof($tableau); $i++ ) {
    echo "Ligne($i)= $tableau[$i] \n";
    }

    foreach
    $panier[]='Roses';
    $panier[].='Tulipes';
    $panier[].='Oeillets';
    foreach ($panier as $valeur){
    echo" $valeur \n";
    }
    -->affichera :
    Roses
    Tulipes
    Oeillets


    Avec tableau multi-dimensionnel:
    $panier=Array(Roses=>'15',Tulipes=>'32');
    foreach ($panier as $cle=>$valeur){
    echo"il y $valeur $cle \n";
    }
    --> Affichera :
    il y a 15 Roses
    il y a 32 Tulipes


    boucle while
    // parcours du tableau tant que l'élément n'est pas vide
    $i=0;
    while( isset( $tableau[$i]) ) {
    echo "Ligne($i) = $tableau[$i] \n";
    $i++;
    }


    while (list...
    $panier['roses']='125';
    $panier['tulipes']='145';
    while(list($cle,$val) = each($panier))
    {
    echo" il y a $val $cle
    ";
    }
    --> affichera :
    il y a 125 roses
    il y a 145 tulipes


    boucle do .. while
    La condition de sortie est située en fin de boucle.
    Ainsi la boucle est parcourue une fois au minimum.
    $fp= fopen( "monfichier.txt" );
    do{
    $ligne = fgets( $fp, 1024 );
    ...
    } while( ! feof($fp) );


    boucle SWITCH
    Va vérifier une variable dans une liste de possibilité et termine par une ligne échapatoire.
    //exemple : $variable == 'Mireille';
    switch ($variable)
    {
    case Pierre : $parent = "mon frêre";
    break;
    case Mireille : $parent = "ma soeur";
    break;
    default : $parent ="pas de la famille";
    break;
    }
    echo $parent;
    //Affichera : ma soeur




    Si des doutes persistent, des questions spécifiques, des petits problèmes de mise en place, n'hésitez pas à consulter le forum référence en php :
    www.AllHtml.com

    Tutos:
    Cases à cocher   Tronquer un texte    Moteur de recherche    Tableau (Array) et boucles    Caddie virtuel    Calendrier   

    Notes:
    Notez que de toute façon ces scripts ne sont qu'à titre d'exemples et n'en sont donc que trés partiels, il vous faudra bien-sûr les intégrer dans l'environnement de votre page, de votre site, mais la méthode est là et elle fonctionne.
    Autre point important, ces morceaux de scripts notament, lorsqu'il y a connexion à votre base de données, ne font aucune référence à certains problèmes de sécurité.


    Warning: Unknown: open(/mnt/127/sda/chez-alice.fr/4/7/creationweb/sessions//sess_81bfe14813397ec00795cb7f70023a17, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

    Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/127/sda/chez-alice.fr/4/7/creationweb/sessions/) in Unknown on line 0