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

Symfony PHP Discussion :

éliminer occurrence dans un tableau [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 21
    Points : 15
    Points
    15
    Par défaut éliminer occurrence dans un tableau
    Bonjour à tous,
    j'ai un souci dans l'affichage d'un tableau avec élimination de redondance.
    Mon code est le suivant:
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
     
    <?php
     $i=0;
       $j=0;
       $val=0;
       $tab = array();
      $request = Request::createFromGlobals();
      $em = $this->getDoctrine()->getEntityManager();
      $platform = $request->query->get('platform');
      $id=$request->query->get('id');
      $userManager = $this->container->get('fos_user.user_manager');
      $user = $userManager->findUserBy(array('id' =>$id));
     
      if($user)
      {    
        foreach($user->getTeams() as $teams)
       {
           foreach($teams->getBuilds() as $builds)
             {    
     
    $applications = $em->getRepository('BetappliApplicationBundle:Application')->findByPlatform($platform);
    if(!$applications) {
    $xml = $serializer->serialize(array('error' => $error), 'xml');
    return new Response($xml);
    foreach ($applications as $application) 
    {  if($application->getId()==$builds->getApplication()->getId())
    {
    $val=1;
    foreach ($application->getBuilds() as $build) 
    {  
     if($build->getId()==$builds->getId())
    {  $Date=$build->getUploadDate();
    $dt= new DateTimeToArrayTransformer();
    $d=$dt->transform($Date);
    $id=$build->getId();
    $dir =$build->getUploadRootDir();
    if($platform=='Android'){
    $fileName=$builds->id.'.apk';															}
    else
    {
    $fileName=$builds->id.'.ipa';
    } 
    							$xml[$i]=array('application'=>array_merge(array('@id'=>$application->getId(),'name'=>$application->getapplicationName(),
    'icon'=>$application->getAbsolutePath_icon()),
    array('build'=>(array('@id'=>$build->getId(),'name'=>$build->getbuildName(),'upload' => $build->getUploadRootDir_build($fileName),'uploaddate' => $d)))));  
    $i++;
    }//fin if($build->getId()==$build->getId())
    }//fin foreach ($application->getBuilds() as $build) 
    }// fin if($application->getId()==$builds->getApplication()->getId())
    }// fin foreach ($applications as $application) 
    }//fin foreach($builds as $builds)
    }//fin foreach($teams as $teams)
    $xml=array_unique(array('application'=>$xml));
    if($val==1)
    {
    $xml = $serializer->serialize($xml, 'xml');
    return new Response($xml);
    }
    else
    {
    return new Response();
    }
    }//fin if($user)
    else 
    { 
    $xml = $serializer->serialize(array('error' => $error2), 'xml');
    return new Response($xml);
    }
    }
    ?>
    Mon code doit afficher les applications et les builds effectués pas les teams dont l'user appartient.
    Parfois le user appartient a des teams différentes qui effectuent les memes builds donc il y aura redondance dans le tableau xml.
    j'ai un souci dans l'elimination de ces occurences!
    Est ce que vous avez une idée SVP?
    Merci

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Points : 585
    Points
    585
    Par défaut
    salut,

    je ne suis pas allé ds le détail du code, mais si j'ai compris l'idée tu peux essayer avec un tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (!in_array($builds->getId(), $user_Builds)) 
    {
    $user_Builds[] = $builds->getId();
    //Affichage
    //....
    }
    s'il n'est pas présent dans le tableau, tu l'enregistres puis tu l'affiches, sinon tu passes au suivant

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 21
    Points : 15
    Points
    15
    Par défaut
    Bonjour et Merci pour ton aide.

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

Discussions similaires

  1. Suppression de toutes les occurrences dans un tableau
    Par Meriam95 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 16/11/2014, 21h07
  2. Réponses: 1
    Dernier message: 19/01/2014, 19h35
  3. Supprimer occurrence du max dans un tableau d'entiers
    Par momo1367 dans le forum Pascal
    Réponses: 2
    Dernier message: 13/06/2008, 11h44
  4. Comptage d'occurrences dans un tableau
    Par ulysse031 dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 22/02/2007, 15h19
  5. Éliminer les lignes blanches dans un tableau
    Par DenPro dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/11/2004, 01h27

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