Bonjour, alors voilà, je cherche une fonction php et sa mise en application afin de résoudre ce problème.
J'ai 2 tableaux à comparer :
un de la forme :
$users = array(183) { [0]=> array(1) { ["id"]=> int(6443312) } ..... }
et le second de la forme :
$species = array(100) { [0]=> array(2) { ["id"]=> int(74177) ["text"]=> string(82) "blablabla" } ..... }
Je souhaite éliminer dans mon tableau $species tout ceux dont l'id ne figure pas dans le tableau $users.
Je me suis penché sans succès sur la fonction array_intersect() mais je n'arrive pas à la manipuler correctement dans un tableau à deux dimensions.
Voici une ébauche de solution, mais qui est selon moi assez lourde, et qui de plus, ne fonctionne pas (on dirait que la condition est une vraie passoire) puisque je retrouve des .
Si je fais un print_r($selectedUsers); les 100 premiers résultats sont en fait le même $species[0], il y figure même avec des [id] qui on passé la condition je ne sais trop comment.
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 $i = 0; foreach($species as $specie) { $specieId = $specie['id']; foreach($users as $user) { $userId = $user['id']; if ($specieId == $userId); { $selectedUsers[$i]['id'] = $specie['id']; $selectedUsers[$i]['text'] = $specie['text']; $i++; } } }
Avez vous une piste pour moi ? Si une fonction php existe, ou alors à partir de ceci en créer une ?
Merci beaucoup.
Partager