Problème comparaison des clés de deux tableaux [Résolu]

Messages postés
16
Date d'inscription
jeudi 17 novembre 2005
Dernière intervention
28 février 2011
- - Dernière réponse : riyuhou
Messages postés
16
Date d'inscription
jeudi 17 novembre 2005
Dernière intervention
28 février 2011
- 30 mai 2010 à 14:35
Bonjours à tous. Depuis le temps que je suis inscrit ici enfin mon premier message.
Ma question est je pense assez simple, j'aimerais savoir si il est possible de comparer les clé de deux différents tableau.

Je m'explique, voici pour le moment les tableau que j'ai crée :

Collec
Array
(
[niten] => Array
(
[Left for Dead 2] => Array
(
)

[White Knight Chronicles] => Array
(
)

[Street Fighter IV] => Array
(
)

[Naruto Ultimate Ninja storm] => Array
(
)

)

)
Prio
Array
(
[niten] => Array
(
[FIFA 2010] => Array
(
[vignettes] => Array
(
[0] => fifa-2010_2_vign.jpg
[1] => fifa-2010_2_vign_2.jpg
)

)

[Final Fantasy XIII ] => Array
(
[vignettes] => Array
(
[0] => vign_ff13.png
)

)

[God of War III] => Array
(
[vignettes] => Array
(
[0] = > GOW_III_vign.jpg
)

)

)

)
prio2
Array
(
[ryuhou] => Array
(
[Street Fighter IV] => Array
(
)

[Kingdom Hearts : birth by sleep] => Array
(
)

)

)


Jusqu'ici tout va bien.
Le souci est quand je veux comparé mes tableau pour rechercher des concordances.
Je suis aller lire le manualphp et j'ai donc décidé d'utiliser ceci :

//Etape 3 : on compare collec (la collection du membre connecté) et prio2 (les priorité des membres qui possèdent le    //jeu rechercher par le membre connecté.
$concordances = array_intersect ($collec, $prio2);


Et la je comprends pas, au lieu de me renvoyer uniquement les valeurs présentent dans les deux tableau, il me renvoie toute les valeur du premier tableau :

Concordances
Array
(
[niten] => Array
(
[Left for Dead 2] => Array
(
)

[White Knight Chronicles] => Array
(
)

[Street Fighter IV] => Array
(
)

[Naruto Ultimate Ninja storm] => Array
(
)

)

)


Alors, j'ai essayer de mettre un index pour qu'il fasse la comparaison sur la deuxième dimension du tableau Mais ça marche pas.
Vu que les valeurs sont des array c'est peut être aussi pour ça.

Bref je sais pas pourquoi ça marche pas en fait...

Bon, je sais pas si j'ai été clair, mais il se fait tard, et je commence à sérieusement fatigué.
Et tous cas, si j'ai réussi à faire comprendre mon problème,est ce que qq'un peut m'aider ?

Merci d'avance.
Ryu.
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
Messages postés
16
Date d'inscription
jeudi 17 novembre 2005
Dernière intervention
28 février 2011
3
Merci
Bon finalement après qq heures de sommeil j'ai trouvé.
La réponse était tellement facile j'ai honte, mais je met quand même la réponse on sait jamais si ça peut servir à qq d'autre.

Bah en fait il suffisait d'utiliser array_intersect_key au lieu de array_intersect.

Et pour faire la comparaison à une dimension particulière des tableau il suffisait de la préciser en index.

Au final il m'a suffit de change :
$concordances = array_intersect ($collec, $prio2);


Par :

$concordances = array_intersect_key ($prio2[$membre2], $collec[$membre]);


Et ça marche niquel...great!

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 117 internautes nous ont dit merci ce mois-ci

Commenter la réponse de riyuhou

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.