У меня есть массив в элементе $xml-> channel->, который выводится правильно, если я запускаю:
foreach ($xml->channel->item as $entry){
echo $entry->title;
echo $entry->category;
echo $entry->pubDate;
}
Теперь я изо всех сил стараюсь, чтобы этот массив работал со следующей формой, которая выводит форматированную таблицу:
$rows = array(
'row[0]' => array('title' => 'Test Title','category' => 'Computer', 'date' => 'test date'),
'row[1]' => array('title' => 'Test Title 2','category' => 'Chemical', 'date' => 'test date'),
);
$form['table'] = array(
'#type' => 'tableselect',
'#header' => $header,
'#options' => $rows,
);
Я пробовал этот код, но он не работал:
$i=0;
foreach ($xml->channel->item as $rows){
row[$i][title] = $rows->title;
row[$i][category] = $rows->category;
row[$i][date] = $rows->pubDate;
$i=++;
}
РЕШЕНИЕ:
Копирование решения, которое я понял из комментария ниже к телу:
$rows = array();
foreach ($xml->channel->item as $entry) {
$row['title'] = $entry->title;
$row['category'] = $entry->category;
$row['date'] = $entry->pubDate;
array_push($rows, $row);
}
Наконец понял. Надеюсь, что это спасет других, которые ударят по аналогичной задаче:
$rows = array();
foreach ($xml->channel->item as $entry) {
$row['title'] = $entry->title;
$row['category'] = $entry->category;
$row['date'] = $entry->pubDate;
array_push($rows, $row);
}