tableau multi-dimensionnel

tableau multi-dimensionnel - PHP - Programmation

Marsh Posté le 26-05-2002 à 22:31:57    

j'ai le tableau suivant :
 
$list_rubriques = array();
$ma_rubrique = array(1,'Action, Aventure';);
$list_rubriques[] = $ma_rubrique;
$ma_rubrique = array(2,'Comédie';);
$list_rubriques[] = $ma_rubrique;
$ma_rubrique = array(3,'Drame';);
$list_rubriques[] = $ma_rubrique;
$ma_rubrique = array(4,'Fantastique, Science Fiction';);
$list_rubriques[] = $ma_rubrique;
 
comment retrouver le nom de la rubrique dont l'id est 3 ? (sans avoir à faire une boucle pour tout tester 1 par 1)

Reply

Marsh Posté le 26-05-2002 à 22:31:57   

Reply

Marsh Posté le 27-05-2002 à 10:13:17    

$list_rubriques = array();  
$ma_rubrique = 'Action, Aventure';  
$list_rubriques[1] = $ma_rubrique;  
$ma_rubrique = 'Comédie';  
$list_rubriques[2] = $ma_rubrique;  
$ma_rubrique = 'Drame';  
$list_rubriques[3] = $ma_rubrique;  
$ma_rubrique = 'Fantastique, Science Fiction';  
$list_rubriques[4] = $ma_rubrique;  
 
->$list_rubriques[3];
c le plus facile


---------------
...oups kernel error...
Reply

Marsh Posté le 27-05-2002 à 11:32:13    

Elle était chaude cette question !!!
MDR


---------------
Le Logiciel est là :
Reply

Marsh Posté le 27-05-2002 à 12:40:15    

non, car pour simplifier je n'ai mis que 2 paramètres mais il y en a plus normallement.
 
par ex:
$list_rubriques = array();  
$ma_rubrique = array(1,'Action, Aventure',2); //id1, nom, id2
$list_rubriques[] = $ma_rubrique;  
$ma_rubrique = array(2,'Comédie',3);  
$list_rubriques[] = $ma_rubrique;  
$ma_rubrique = array(3,'Drame',4);  
$list_rubriques[] = $ma_rubrique;  
$ma_rubrique = array(4,'Fantastique, Science Fiction',1);  
$list_rubriques[] = $ma_rubrique;  
 
et donc par ex. je veux pouvoir retrouver le nom dont l'id2 est 3 et le nom dont l'id1 est 4...

Reply

Marsh Posté le 27-05-2002 à 12:52:07    

si tu connais l'id1 du truc que tu cherches, alors $list_rubriques[nID] suffit, puisque deux cases de ton tableau ne peuvent pas avoir le même id1... non ? par contre, si tu cherches une case sans connaitre l'id1, alors -> BOUCLE !!!

Reply

Marsh Posté le 27-05-2002 à 13:54:52    

mets ton id1 et id2 en key alors dans le tableau
array[id1][id2] ou array[id2][id1] en fct de ce que tu veux faire.
 
essaye d'être plus explicite, à koi servent id1 et id2, que veux tu faire (ex: un menu avec sous menu) ?


---------------
...oups kernel error...
Reply

Marsh Posté le 27-05-2002 à 22:26:39    

en fait je voulais juste savoir s'il y avait une fonction comme array_search mais adaptée aux tableaux multi-dimensionnels. apparement non donc finalement j'ai fait ma petite fonction.
 
pour ceux que ça intéresserait : ;)
function search_tab($tableau,$dim_source,$dim_cible,$param) {
 foreach($tableau as $ligne) {
  if ($ligne[$dim_source]==$param) return $ligne[$dim_cible];
 }
}

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed