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 :

Relire plusieurs fois le même array


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Homme Profil pro
    dev. full stack
    Inscrit en
    Octobre 2016
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : dev. full stack
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Octobre 2016
    Messages : 80
    Par défaut Relire plusieurs fois le même array
    Bonjour,

    J'ai besoin de pouvoir relire un array plusieurs fois.
    Je peux copier l'array d'origine vers un second array, mais je ne sais pas si cela est suffisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // array d'origine
    $data = parent::buildPaginatedQuery($options,$resourceName,$methodName);
    Est-ce que je peux faie ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    foreach ($data['listeof'] as $of) 
      {
       // Détection changement de ligne
      $atelier = $of['atelier'];
      $dateOF = $of['dateheure'];
      $pstchg = $of['pstchg'];
     
      $arrayChgLigne = $data;
      for($i = 0; i < $arrayChgLigne; $i++)
        {
        if($arrayChgLigne['atelier'] == $atelier && $arrayChgLigne['atelier'] > $dateOF && $arrayChgLigne['pstchg'] != pstchg)
          {
          // chg ligne 
          }
        }
      }

  2. #2
    Membre confirmé
    Homme Profil pro
    dev. full stack
    Inscrit en
    Octobre 2016
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : dev. full stack
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Octobre 2016
    Messages : 80
    Par défaut foreach -for
    J'ai testé le truc dans un programme de test et cela fonctionne

    Mais, dans le programme en production ( qui utilise une couche ZendFramework ou quelque chose ainsi), l'implémentation du code en faisant copier/coller et en adaptant ne fonctionne pas..
    En faisant en faisant mon test, j'ai développé la correction du bug signalé par les utilisateurs.

    En fait, la boucle principal dans le code en production est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     public function buildPaginatedQuery($options,$resourceName = false,$methodName = false) {
     
           $data = parent::buildPaginatedQuery($options,$resourceName,$methodName);
     
           $ofs = array();
           $fermetures = array();
     
           $oldOf = null;
     
                  // parcours de la boucle des of pour y ajouter les commentaires et les nettoyages.
     
            foreach ($data['listeof'] as $of)
    Et pour que mon code fonctionne, il faut que j'arrive à convertir la boucle foreach en boucle for car dans mon code de résolution du bug, j'ai besoin d'aller voir l'élément suivant dans l'array d'origine afin de tester quelques données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     if($i+1 < count($data))
             {
             if( $data[$i+1]["pstchg"] == $data[$i]["pstchg"])
               {
                $tsOfNext = strtotime( $data[$i+1]["dateheure"] );
                if($tsOfNext < $tsOF2)
                  break;
               }
             }
    Bref, je voulais faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    for($i = 0; i < count($data); $i++)
             {
             $of = $data['listeof'];
    mais, cela plante le programme

  3. #3
    Membre confirmé
    Homme Profil pro
    dev. full stack
    Inscrit en
    Octobre 2016
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : dev. full stack
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Octobre 2016
    Messages : 80
    Par défaut
    OK... j'ai trouvé ... un bug dans le code...

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

Discussions similaires

  1. [ADOQuery] Parametre utilisé plusieurs fois
    Par gibet_b dans le forum Bases de données
    Réponses: 5
    Dernier message: 30/09/2004, 11h57
  2. [VB.NET] Appliquer plusieurs fois la même fonction...
    Par MiJack dans le forum Windows Forms
    Réponses: 9
    Dernier message: 22/09/2004, 11h52
  3. Réponses: 4
    Dernier message: 02/09/2004, 22h43
  4. Réponses: 2
    Dernier message: 10/07/2004, 18h14
  5. [Servlet] Comment utilisé une servlet plusieurs fois ?
    Par gandalf_le_blanc dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 03/06/2004, 15h49

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