question de débutant à propos des array

question de débutant à propos des array - PHP - Programmation

Marsh Posté le 27-11-2004 à 12:17:25    

voila j'ai une variable qui est un tableau:  
elle se compose de cette maniere:

Code :
  1. $nomtheme = array (
  2. array ("1","Art" ),
  3. array ("101","Art : Cinéma" ),
  4. array ("102","Art : Littérature" ),
  5. array ("103","Art : Musique" ),
  6. array ("104","Art : Peinture" ),
  7. array ("105","Art : Sculpture" );


 
Ma question: comment je peux connaitre la valeur de $nomtheme[$i]['1'] en fonction  de $nomtheme[$i]['0']  mais en ne connaissant pas le nombre $i ....Je sais pas si je suis clair. J'ai trouvé au moyen d'une boucle mais il y a surement un moyen plus simple et peut être "moins lourds"?
exemple: je veux $nomtheme[$i]['1'], en ayant $nomtheme[$i]['0'] qui est 104.
 

Code :
  1. $i=0;
  2. while (next ($nomtheme))
  3. {
  4. if ($nomtheme[$i][0]=="104" )
  5. echo $nomtheme[$i][1];
  6. $i++;
  7. }


 
Mais bon je me prends peut etre la tete et il n'y a pas d'autres solutions...


Message édité par Scarf3ss3 le 27-11-2004 à 12:18:17
Reply

Marsh Posté le 27-11-2004 à 12:17:25   

Reply

Marsh Posté le 27-11-2004 à 12:21:14    

c'est pas clair du tout ton histoire
pour parcourir un tableau le plus simple c'est  :
 
foreach($montheme as $indice=>$element) {
 //...la tu mets ce que je ne comprends pas dans ton speech en utilisant $element qui correspondra a chaque tableau de $montheme
}


Message édité par Profil supprimé le 27-11-2004 à 12:21:51
Reply

Marsh Posté le 27-11-2004 à 12:25:22    

spike a écrit :

c'est pas clair du tout ton histoire
pour parcourir un tableau le plus simple c'est  :
 
foreach($montheme as $indice=>$element) {
 //...la tu mets ce que je ne comprends pas dans ton speech en utilisant $element qui correspondra a chaque tableau de $montheme
}


Désolé je comprends pas trop ton truc, mais ce que je comprends c'est que tu utilises une boucle également, donc le résultat est le même. :??:  

Reply

Marsh Posté le 27-11-2004 à 12:39:22    

Obligé de faire une boucle a priori (à moins qu'une fonction de base le fasse mais elle fera sûrement aussi une boucle en interne de toutes façons).
 
Par contre tu parcoures tout le tableau alors que c'est pas forcément nécessaire. Je propose un truc du genre :
 

Code :
  1. $nbthemes = count($nomtheme);
  2. for ($i = 0; $i < $nbthemes && $nomtheme[$i][0] != '108'; $i++)
  3.    ;
  4. if ($i < nbthemes) {
  5. echo $nomtheme[$i][1];
  6. }
  7. else {
  8. // non trouvé
  9. }


Message édité par sielfried le 27-11-2004 à 12:40:37

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 27-11-2004 à 13:03:06    

Sielfried a écrit :

Obligé de faire une boucle a priori (à moins qu'une fonction de base le fasse mais elle fera sûrement aussi une boucle en interne de toutes façons).
 
Par contre tu parcoures tout le tableau alors que c'est pas forcément nécessaire. Je propose un truc du genre :
 

Code :
  1. $nbthemes = count($nomtheme);
  2. for ($i = 0; $i < $nbthemes && $nomtheme[$i][0] != '108'; $i++)
  3.    ;
  4. if ($i < nbthemes) {
  5. echo $nomtheme[$i][1];
  6. }
  7. else {
  8. // non trouvé
  9. }




Merci c'est la réponse que j'attendais  :jap:  
En faite je suis en train de réaliser que j'aurai du mettre dans ma base l' indice au lieu $nomtheme[$i][0] ça aurait été beaucoup plus simple...


Message édité par Scarf3ss3 le 27-11-2004 à 13:06:55
Reply

Sujets relatifs:

Leave a Replay

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