IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Différence: foreach((array)) et foreach()


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2007
    Messages : 83
    Points : 47
    Points
    47
    Par défaut Différence: foreach((array)) et foreach()
    Bonjour,

    J'ai une question (surement bête) par rapport à la boucle foreach.

    Normalement quand je code une boucle foreach, ça donne ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    foreach ($variable->essai as $key => $value) {
    }
    Mais j'ai vu que certains codeurs, coderaient ce même bout de code ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    foreach ((array)$variable->essai as $key => $value) {
    }
    A quoi sa sert de mettre ce tableau?

    Merci pour votre éclairage...

  2. #2
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Points : 2 399
    Points
    2 399
    Par défaut
    le fait de mettre (array) devant la variable que tu passe dans le foreach permet de forcer php à considérer que la variable est un array.

    En effet si la variable que tu veux parcours dans le foreach n'a pas été définie précédemment comme un tableau le foreach génèrera une erreur.

    En mettant (array), tu es sûr que ce sera un tableau et il n'y aura pas d'erreur.

    Exemple avec une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach($variables as $v){
     
    }
    Pour ne pas avoir l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $variables = array();
    foreach($variables as $v){
     
    }
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach((array)$variables as $v){
     
    }

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2007
    Messages : 83
    Points : 47
    Points
    47
    Par défaut
    Super!!

    Merci pour ta réponse claire , je comprend beaucoup mieux la raison de ce array maintenant.

    Salutations.
    Clément

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.4] manipulation les données d'un array avec foreach et for
    Par aspkiddy dans le forum Langage
    Réponses: 2
    Dernier message: 24/02/2014, 00h22
  2. [PHP 5.0] Scandir, array et foreach
    Par Friksstyle dans le forum Langage
    Réponses: 9
    Dernier message: 03/09/2013, 11h31
  3. [Tableaux] Tableau (array) PHP/ foreach
    Par KOUTO dans le forum Langage
    Réponses: 2
    Dernier message: 01/06/2009, 00h54
  4. Différence entre array arraylist ?
    Par sauceaupistou dans le forum Framework .NET
    Réponses: 7
    Dernier message: 28/03/2008, 22h01
  5. Différence entre ARRAY et PACKED ARRAY
    Par homeostasie dans le forum Langage
    Réponses: 5
    Dernier message: 16/01/2007, 22h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo