динамическое построение массивов - PullRequest
1 голос
/ 25 ноября 2011

Я пытаюсь построить динамический мульти-массив, мой код следующий:

$stud_data=array('estudiante1','estudiante2','estudiante3');
  $dates_data=array('date1','date2','date3');
  $stud_datan=count($stud_data);

  for($i=0; $i<$stud_datan; $i++){
     $students[$i]['name']=$stud_data[$i];
     for ($j=0; $j<count($dates_data); $j++){
         $dates[$i][$j]=$stud_data[$j];
         $students[$i]['dates']=array($dates_data[$j]=>$i.$j);
     }
  }

Когда я `print_r $ студентов, я сообщаю следующий массив:

 Array (
       [0] => Array ( 
                [name] => estudiante1 
                [dates] => Array ( 
                         [date3] => 02 
                         ) 
                     ) 
       [1] => Array (  
                [name] => estudiante2  
                [dates] => Array (
                         [date3] => 12 

                         )
                    ) 

            )

но я хочу построить эту структуру, такой массив:

Array (
       [0] => Array ( 
                [name] => estudiante1 
                [dates] => Array ( 
                      [date1] => 01 
                      [date2] => 02 
                      [date3] => 03
                        )
                      ) 
       [1] => Array ( 
                [name] => estudiante2 
                [dates] => Array ( 
                      [date1] => 10 
                      [date2] => 11 
                      [date3] => 12 
                        )
                       ) 
      )

В чем моя ошибка? Спасибо за вашу помощь. В подмассиве даты отображается только значение [date3], но не показывается [date1] [date2]

Ответы [ 2 ]

3 голосов
/ 25 ноября 2011
$stud_data=array('estudiante1','estudiante2','estudiante3');
  $dates_data=array('date1','date2','date3');
  $stud_datan=count($stud_data);

  for($i=0; $i<$stud_datan; $i++){
     $students[$i]['name']=$stud_data[$i];
     $students[$i]['dates'] = array();
     for ($j=0; $j < count($dates_data); $j++){
         $students[$i]['dates'][$j] = $stud_data[$j];
     }
  }
0 голосов
/ 26 ноября 2011

Это массив со структурой, которую я хотел.

$stud_data=array('estudiante1','estudiante2','estudiante3');
  $dates_data=array('date1','date2','date3');
  $stud_datan=count($stud_data);

  for($i=0; $i<$stud_datan; $i++){
     $students[$i]['name']=$stud_data[$i];
     $students[$i]['dates'] = array();
     for ($j=0; $j < count($dates_data); $j++){
         $students[$i]['dates'][$dates_data[$j]] = $i.$j;
     }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...