array_unique

Répondre
KiwiSlice
le 15/03/2005 à 17:09
KiwiSlice
Bonjour,

j'ai un problème. Je prend le résultat de 2 requête et je fait un array_merge. Jusque là tout va bien. Et la pour éviter les doublons je fait un array_unique sur mon nouveau tableau. Il efface effectivement les doublons mais le problème est que la plupart des valeurs n'ayant pas de doublons sont complètement effacer du tableau.
KiwiSlice - The fruity taste of kiwi
Lefounard
le 15/03/2005 à 17:16
Lefounard
Tu utilises 'DISTINCT' dans ta requete sql, regarde sur google il explique comment s'en servir !
Ciao,
I am singing in the rain , I am happy again !!
KiwiSlice
le 15/03/2005 à 17:24
KiwiSlice
Je sais mais j'ai 2 requêtes sur 2 tables avec chacune un DISTINCT. Il n'y a aucun doublons dans chacun de mes résultats mais les 2 mit ensemble me crée des doublons puisque certaines valeurs sont les même d'une table à l'autre. Normalement array_unique devrait ne m'enlever que les doublons mais il m'enlève également des valeurs qui n'ont aucun doublon.
KiwiSlice - The fruity taste of kiwi
LA GLOBULE
le 15/03/2005 à 17:25
LA GLOBULE
Lefounard, tu m'etonneras toujours smiley

Si il fait deux requetes meme avec un DISTINCT pour ces deux requetes, cela ne va pas empecher le fait d'avoir un doublon si il "merge" ses deux resultats de requetes.

KwiSlice, peux tu nous donner le contenu de tes deux tableaux avant de faire le merge ?
Affiche le contenu de tes tableaux avec un :

print_r ($tablo1);
print_r ($tablo2);

Et donne nous le résultat sur un wall :)
LA GLOBULE
le 15/03/2005 à 23:27
LA GLOBULE
Ben c'est normal.

Array (
[0] => TERRE A JARDIN ORG. 30L HUMIX
[1] => TERRE A JARDIN ORGANIQUE
[2] => TERRE A JARDINAGE OVATION
[3] => TERRE JARDINAGE PLUS VERT 30L
[4] => TERRE NOIRE 30L OVATION
[5] => TERRE NOIRE 30L PLUS VERT
[6] => TERRE NOIRE OVATION
[7] => TERRE NOIRE PLUS VERT 30L
[8] => TERREAU D\'EMPOTAGE 15L HUMIX
[9] => TERREAU D\'EMPOTAGE 30L HUMIX )

La, tu n'as aucun doublon ? si ?
LA GLOBULE
le 15/03/2005 à 23:29
LA GLOBULE
Par contre, dans ton premier exemple, c'est vrai que "TERRE A JARDINAGE OVATION" a disparu.

Tu es sur d'avoir bien procéder ?
KiwiSlice
le 16/03/2005 à 15:00
KiwiSlice
Voici mon code

Les variables $produits et $budget sont 2 tableaux fait à partir de 2 requêtes dans ma BDD.

La partie "for" du code est la façon que j'ai trouver pour éliminer les vides dans le nouveau tableau car "array_unique" garde les valeurs alors je me retrouve avec exemple :

Array[1] Tata
Array[3] Toto

Alors quand je fait un "for" la dessus j'ai des espaces vides exemple :

Array[1] Tata
Array[2]
Array[3] Toto

Je crois que c'est ce bout de code qui est fautif. Y'a un moyen plus simple de faire car j'ai pas trouvé !?
KiwiSlice - The fruity taste of kiwi
zebden
le 16/03/2005 à 16:13
zebden
<?php

$tab1 = Array('toto', 3 => 'tata','titi');
$tab2 = Array('toto','tete','titi','hehe');

$newtab = array_merge($tab1,$tab2);
$newtab = array_unique($newtab);


print_r($newtab);


/*
print_r($newtab) donne :

Array
(
[0] => toto
[1] => tata
[2] => titi
[4] => tete
[6] => hehe
)
*/
?>


donc apres faut voir les valaurs de ton tableau. ca vient de la je suppose.
zebdinou pour les intimes / Blog : http://www.zebden.fr
Répondre
LoadingChargement en cours