2013-05-07 2 views
0

получил этот массив:Выбор значений массива из массива индексов

Array 
(
    [0] => Array 
     (
      [0] => Array 
       (
        [correct] => 
        [answer] => false answer1 
       ) 

      [1] => Array 
       (
        [correct] => 
        [answer] => false answer2 
       ) 

      [2] => Array 
       (
        [correct] => 
        [answer] => false answer3 
       ) 

      [3] => Array 
       (
        [correct] => 1 
        [answer] => correct answer 
       ) 

     ) 

    [1] => Array 
     (
      [0] => Array 
       (
        [correct] => 
        [answer] => false answer1 
       ) 

      [1] => Array 
       (
        [correct] => 
        [answer] => false answer2 
       ) 

      [2] => Array 
       (
        [correct] => 
        [answer] => false answer3 
       ) 

      [3] => Array 
       (
        [correct] => 1 
        [answer] => correct answer 
       ) 

     ) 
) 

и получил массив индексов:

Array 
(
    [0] => Array 
     (
      [0] => 0 
      [1] => 1 
      [2] => 2 
     ) 

    [1] => Array 
     (
      [0] => 0 
      [1] => 1 
      [2] => 2 
     ) 
) 

Вывод, который я хотел бы получить:

Array 
(
    [0] => Array 
     (
      [0] => Array 
       (
        [correct] => 
        [answer] => false answer1 
       ) 

      [1] => Array 
       (
        [correct] => 
        [answer] => false answer2 
       ) 

      [2] => Array 
       (
        [correct] => 
        [answer] => false answer3 
       ) 

     ) 

    [1] => Array 
     (
      [0] => Array 
       (
        [correct] => 
        [answer] => false answer1 
       ) 

      [1] => Array 
       (
        [correct] => 
        [answer] => false answer2 
       ) 

      [2] => Array 
       (
        [correct] => 
        [answer] => false answer3 
       ) 

     ) 
) 

Как вы можете видеть, я хочу выбрать все значения из 1-го массива в зависимости от индексов 2-го массива. Как мне это сделать?

Edit:

вот как им пытаются решить сейчас:

for($i = 0; $i < count($array1); $i++){ 
    $output_array[] = $array1[$i][$index_array[$i][0]]; 
    $output_array[] = $array1[$i][$index_array[$i][1]]; 
    $output_array[] = $array1[$i][$index_array[$i][2]]; 
} 

выход не то, что я хочу вообще ..

edit2:

Пытались что-то подобное :

$output_array[$i] = array_push($array1[$i][$index_array[$i][1]]); 
$output_array[$i] = array_push($array1[$i][$index_array[$i][2]]); 

но не работал ..

+1

Обычно это делается после того, как некоторое обучение с массивами для себя. Просто поиграйте с ним, а не задавайте такие локализованные вопросы (не считайте их персональными;) – hek2mgl

+0

SO не для того, чтобы заставить людей писать код для вас, сначала вам нужно приложить некоторые усилия. Покажите, что вы пробовали, и мы поможем вам решить проблемы. – Barmar

+0

Я пробовал использовать 'foreach' и' for' loops, ill edit op с тем, что im пытается atm .. – Edgar

ответ

0

Решено.

for($i = 0; $i < count($array1); $i++){ 
    $output_array[$i][] = $array1[$i][$index_array[$i][0]]; 
    $output_array[$i][] = array_merge($array1[$i][$index_array[$i][1]]); 
    $output_array[$i][] = array_merge($array1[$i][$index_array[$i][2]]); 
} 

Не уверен, что если его правильный путь, но он работает ..

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