Recherche dans un array

Messages postés
116
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
19 janvier 2009
- - Dernière réponse : cs_Aaron
Messages postés
116
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
19 janvier 2009
- 25 déc. 2008 à 13:08
Salut à tous et joyeux nöel,

J'aimerais savoir s'il est possible de chercher la clé d'un tableau grâce à deux valeurs.

Voici mon tableau :

Array
(
[0] => Array
(
[JID] => 2
[CID] => 6
[INI] => 17
)

[1] => Array
(
[JID] => 1
[CID] => 4
[INI] => 16
)

[2] => Array
(
[JID] => 1
[CID] => 3
[INI] => 15
)

[3] => Array
(
[JID] => 1
[CID] => 7
[INI] => 13
)

[4] => Array
(
[JID] => 2
[CID] => 7
[INI] => 9
)

[5] => Array
(
[JID] => 1
[CID] => 0
[INI] => 9
)

)

Je souhaite par exemple obtenir "5" en recherchant JID="1" et CID="0". Dois-je utiliser deux array_search() ?

Merci d'avance :)
Afficher la suite 

2 réponses

Messages postés
12336
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
26
0
Merci
salut

array_search ne fonctionnera pas, mais tu peux utiliser array_filter :

tu peux filtrer tes tableaux selon la condition suivante :
 "etre un tableau qui contient 'JID' => 1"
et
 "etre un tableau qui contient 'CID' => 0"
Commenter la réponse de coucou747
Messages postés
116
Date d'inscription
lundi 29 juillet 2002
Statut
Membre
Dernière intervention
19 janvier 2009
0
Merci
Yop, je m'en sort pas trop avec array_filter.

Donc j'ai essayé de créer une fonction :

        function TourFilter($Tour, $JID, $CID){
            foreach($Tour as $item){
                if(in_array($JID, $item) && in_array($CID, $item))
                    return $item;
            }   
        }

    print_r($Tour[TourFilter($Tour, 1, 0)]);

Mais j'obtiens l'avertissement qui suit :
Warning: Illegal offset type in /homez.18/dshiponl/www/Sys combat/test.php5 on line 238

Une petite idée ?
Commenter la réponse de cs_Aaron