2010-02-23 3 views
0

У меня возникают некоторые проблемы с пониманием того, как сопоставить одномерный массив с двумерным массивом. Поэтому у меня есть один массив, одномерный, который содержит числа (например, 1, 2, 3, 4, 5 ...) и один двумерный массив, содержащий числа и некоторый текст (например, [1] [собака] [2] [cat], [3] [mouse] ...)Соответствие одномерному массиву с двухмерным массивом

Итак, теперь я хочу использовать первый массив, чтобы увидеть, совпадает ли это с числами второго массива, например если массив [0] (содержит значение '1') соответствует array2 [x], тогда выведите текст array2, array2 [x] [текст].

Любая помощь предоставляется!

EDIT:

По желанию я экспортировал массивы, я не знаю, если это поможет, но здесь мы идем:

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

Я полагаю this'd работа похожа на систему тегов? Если arrayX содержит запись со значением '1', сравните ее с arrayY и выведите числовое соответствие.

+0

Не могли бы вы предоставить 'var_export' массивы и предоставить их в вопросе. Благодарю. – Gordon

+0

Спасибо. Для '1' вы хотите, чтобы возвращаемое значение было' собакой', верно? – Gordon

ответ

1

ли вы имеете в виду, что второй массив так: $array[0]['cat'] = 'dog'

Или $array[0] = 'cat'

Если это последнее, вы можете просто перебирать первый массив, вывод значений из второго массива, как так

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"; 
    } 
} 

Что-то вроде этого?

Смежные вопросы