Toujours dans les arrays

grandpa00006
Invité n'ayant pas de compte PHPfrance

17 mars 2008, 17:16

j'ai deux tableaux

$array1 = ([0] => cerise [1] =>fraise [3] =>pomme)
et
$array2 = ([0] => rouge [1] => vert [4] => bleu)

Comment fait-on pour afficher la valeur cerise et la valeur rouge du tableau 2 en disant que comme c'est la cle0 du tableau 1 qui a été choisi, ecrit alors la valeur [0] du tableau 2

Je sais pas si c'est tres clair, mais je compte sur vous merci ... ;-)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

17 mars 2008, 17:28

Pas sur d'avoir compris.... si tu choisis la clé 0, tu as juste à faire :
$array1 = array ([0] => cerise [1] =>fraise [3] =>pomme);
$array2 = array ([0] => rouge [1] => vert [4] => bleu);

$cle = 0;
echo $array1[$cle]; // affiche : cerise
echo $array2[$cle]; // affiche : rouge

$cle = 3;
echo $array1[$cle]; // affiche : pomme
echo $array2[$cle]; // retourne un avertissement "index non défini" (si les warnings sont activés)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

grandpa6
Invité n'ayant pas de compte PHPfrance

17 mars 2008, 18:16

mouarf j'essaie de simplifier mon probleme mais ca marche toujours pas. Pourtant je sais que ca doit pas etre tres compliqué pour un vrai pro.
Je me permet de te mettre tout mon code et un peu d'explication ...

Je fais un select dans une table (pnj_base) :
J'en ressort les données de mon champ (pnj_base_cat) que je deserialize dans un premier tableau.
Je met ces données dans un tableau par la ligne foreach ($tablo as $key => $value){$nv_tablo[$key] = $value[0];}
Je met egalement les données de pnj_base_titre dans un autre tableau $ref.

Ensuite je fait un autre select dans une autre table pnj_cat
Je test mon array pour savoir si la valeur de de reference des donneees de ce select est egal à la donnée trouvé dans le array du premier select : pnjcat_ref = $nv_tablo

Jusque la tout fonctionne

Si oui je veux afficher la valeur de la cle du tableau $ref correspondant à la cle du tableau $nv_tablo
mais j'y arrive pas
MErci de ton aide

Code : Tout sélectionner

// VOIR LES RESULTATS ENREGISTRES $res= mysql_query("SELECT pnj_base_ref,pnj_base_titre,pnj_base_cat FROM pnj_base"); // VARIABLES $nv_tablo = array(); $ref = array(); while ($res1 = mysql_fetch_array($res)) { $tablo[] = unserialize($res1['pnj_base_cat']); $ref[] = $res1['pnj_base_titre']; foreach ($tablo as $key => $value) { $nv_tablo[$key] = $value[0]; } } // REQUETE $r1 = mysql_query("SELECT pnjcat_ref,pnjcat_txt FROM pnj_cat ORDER BY pnjcat_gauche"); // BOUCLE while ($h1 = mysql_fetch_array($r1)) { echo $h1[1].'</br>'; if (in_array($h1[0],$nv_tablo)) { echo ????.'</br>'; } }