2010-02-23 11 views
0

Je rencontre des problèmes pour comprendre comment faire correspondre un tableau unidimensionnel avec un tableau bidimensionnel. J'ai donc un tableau, un unidimensionnel, qui contient des nombres (par exemple 1, 2, 3, 4, 5 ...) et un tableau à deux dimensions qui contient des nombres et du texte (par exemple [1] [chien], [2] [cat], [3] [mouse] ...)Correspondance d'un tableau multidimensionnel avec un tableau bidimensionnel

Alors maintenant, ce que je veux faire est d'utiliser le premier tableau, pour voir si cela correspond aux numéros des deuxièmes tableaux, par exemple si array [0] (contient la valeur '1') correspond à array2 [x], puis affiche le texte du tableau2, array2 [x] [text].

Toute aide est appréciée!

EDIT:

selon la demande que j'ai exporté les tableaux, je ne sais pas si cela va aider, mais ici on y va:

arrayX (0 => '1', 
     1 => '2' 
) 
arrayY (0 => array (0 => 'cat'), 
     1 => array (0 => 'dog') 
) 

Je suppose this'd travail similaire à un système d'étiquette? Si arrayX contient une entrée avec la valeur '1', comparez-la avec arrayY et affichez le numéro-match.

+0

Pouvez-vous s'il vous plaît 'var_export' les tableaux et de les fournir dans la question. Merci. – Gordon

+0

Merci. Pour '1' vous voulez que la valeur de retour soit' dog' alors, non? – Gordon

Répondre

1

Voulez-vous dire que le deuxième tableau est comme ce qui suit: $array[0]['cat'] = 'dog'

Ou $array[0] = 'cat'

Si c'est ce dernier, vous pouvez simplement itérer sur le premier tableau, la sortie des valeurs à partir du second tableau comme si

foreach ($array1 as $key) { 
echo $array2[$key]; 
} 
0
$arr1 = array(1, 2, 3, 5, 7, 11, 13, 17); 
$arr2 = array(
      2 => array('text' => 'Foo', 'animal' => 'dog'), 
      3 => array('text' => 'Bar', 'animal' => 'cat'), 
      5 => array('text' => 'bla', 'animal' => 'rabbit'), 
      11 => array('text' => 'blub', 'animal' => 'horse'), 
      13 => array('text' => 'foobar', 'animal' => 'mouse')); 

for ($i = 0; $i < count($arr1); $i++) 
{ 
    if (isset($arr2[$i])) 
    { 
     echo $arr2[$i]['text'] . "<br />\n"; 
    } 
} 

Quelque chose comme ça?