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 :

[Tableaux] Array_unique et tableau 2 dimensions


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 114
    Par défaut [Tableaux] Array_unique et tableau 2 dimensions
    Bonjour,

    je voudrais faire un array_unique sur un tableau 2 dimensions:
    voici comment est créé mon tableau au départ.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $i=0;
    while( res requete sql){
      $tab[$i][0]=$val0;
      $tab[$i][1]=$val1;
      $tab[$i][2]=$val2;
      $tab[$i][3]=$val3;
      $i++;
    }
    Ce que je voudrais c'est avoir des valeurs uniques pour le paquet($val0,$val1,$val2,$val3).
    j'ai essayé avec un array_unique mais ça ne fonctionne pas, il me retourne seulement la première valeur qui est inséré dans le tableau.

    Avez vous une idée sur la façon à procéder ?
    Merci

  2. #2
    Membre éprouvé Avatar de bluemartini
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2006
    Messages : 154
    Par défaut
    Quelques questions :
    Ton tableau se remplit avec le résultat de ta requete mise dans ton while?
    Quand tu parles de valeurs uniques pour les 4 valeurs, as tu le droit à des valeurs identiques entre $val0 et $val1 par exemple pour un certain rang $i? (en gros unicité sur les couples ou sur les valeurs entre elles au rang $i)

  3. #3
    Membre éprouvé
    Inscrit en
    Janvier 2006
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 140
    Par défaut
    es tu sûr d'avoir utilisé correctement array_unique ?

  4. #4
    Membre Expert

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    array_unique ($tab[$i]);
    devrait marcher.
    mais tu dois quand meme passer dans une boucle.

  5. #5
    Membre éprouvé
    Inscrit en
    Janvier 2006
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 140
    Par défaut
    tout pareil, Maxoo est la voix de la sagesse

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 114
    Par défaut
    En faite c'est tout le couple $val1 $val2, $val3 ,$val4 que je veux unique.

    je ne sais pas si c'est possible avec un array_unique car c'est un sous tableau et il va faire le test seulement sur la première entrée $tab[0] d'aprés ce que j'ai pu comprendre aprés quelques essais.

    j'ai trouvé la fonction qui suit sur un autre site et elle fonctionne trés bien (pour un tableau 2D je n'ai pas testé pour plus).
    si ça peut interesser quelqu'un :

    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
    function array_unique_multi($tab) {
    	$tab_ini=array();
    	$tab_unique=array();
       	for($n=0;$n<count($tab);$n++) {
    	 	$tab_ini[]=serialize($tab[$n]);
       	}
       	$mat=array_unique($tab_ini);
       	for($n=0;$n<count($tab);$n++) {
    	 	$tab_unique[]=unserialize($mat[$n]);
       	}
       	foreach ($tab_unique as $key => $row){
    	 	if (!is_array($row)) { unset($tab_unique[$key]); }
       	}
       	return $tab_unique;
    }

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/02/2008, 16h45
  2. [Tableaux] Afficher un tableau à deux dimension
    Par Space Cowboy dans le forum Langage
    Réponses: 4
    Dernier message: 05/07/2007, 09h36
  3. Réponses: 9
    Dernier message: 26/04/2007, 15h17
  4. [Tableaux] suppression colonne tableau 2 Dimensions
    Par flydragon dans le forum Langage
    Réponses: 21
    Dernier message: 27/04/2006, 11h28
  5. [Tableaux] tri de tableau deux dimensions
    Par oursquetaire dans le forum Langage
    Réponses: 8
    Dernier message: 27/12/2005, 14h27

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