Объединить 2 массива и положить их в таблицу - PullRequest
0 голосов
/ 31 марта 2011

Обновление

Я новый разработчик drupal, я нашел свой узел 'Student' и 'Internships'. это не проблема. Из моего узла «Студент» я получил несколько значений: имя студента , имя студента , идентификатор студента . Из узла «Стажировки» я получил: название стажировки и место стажировки . Теперь я хочу объединить эти разные массивы друг с другом в таблицу. Я включил структуру таблицы:

Name student | First name student | ID student | Name internship | Name location
Jan            Smith                123456       University Ghent  Downingstreet 10

мой код:

$studentUGentID = null;
$studentPreference = null; // voorkeur stageplaats van student.
$studentLocation = null; // Location student.
foreach($arrayStudents as $keyStudents => $valueStudent) {
    $studentUGentID[$keyStudents] = $valueStudent->field_ugentid_student;
    $studentPreference[$keyStudents] = $valueStudent->field_voorkeur_student;
    $studentLocation[$keyStudents] = $valueStudent->field_locatie_student;
}
//var_dump($arrayStudents);
// Get required data from local variable $arrayInternships.
$internshipStagedomein = null;
$internshipNaam = null;
$internshipLocatie = null;
foreach($arrayInternships as $keyInternships => $valueInternship) {
    $internshipStagedomein[$keyInternships] = $valueInternship->field_stagedomein_revaki;
    $internshipNaam[$keyInternships] = $valueInternship->title;
    $internshipLocatie[$keyInternships] = $valueInternship->field_locatieview;
}

Я использую следующий код для слияния и theme_table ():
$header = array('UGentID', 'Internships'); $output = theme_table($header, array_merge($studentUGentID, $internshipNaam));

Но я получаю следующую ошибку:

предупреждение: неверный аргумент указан для foreach () в C: \ XAMPP \ HTDOCS \ testplanningFinal \ включает \ theme.inc по линии 1389.

В чем может быть причина?

Ответы [ 2 ]

1 голос
/ 31 марта 2011

Посмотрите на использование функции php array_combine и array_merge

0 голосов
/ 01 апреля 2011

Предупреждение «Недопустимый аргумент, предоставленный для foreach ()», обычно означает, что переданная вами переменная не является массивом или объектом, или массив или объект пуст.

Если вы можете быть уверены, что массивне пусто, вы можете использовать это:


if (!empty($arrayStudents))) {
  foreach($arrayStudents as $keyStudents => $valueStudent) {
    $studentUGentID[$keyStudents] = $valueStudent->field_ugentid_student;
    $studentPreference[$keyStudents] = $valueStudent->field_voorkeur_student;
    $studentLocation[$keyStudents] = $valueStudent->field_locatie_student;
  }
}
...