Не так давно эта функция была отправлена в ответ на вопрос. Будучи учеником, я заинтересован в понимании этой функции. Однако я не могу заставить его работать так, как есть. Плакат не сказал, что он проверил функцию, поэтому он мог быть «концептуальным» сообщением, предназначенным для указания направления. OTOH, я не могу ссылаться на него правильно. Пожалуйста, помогите, поскольку я потратил некоторое время, пытаясь понять это.Расшифровка функции
(массив $ данных один, что я просто положить в, чтобы запустить функцию.)
<?php
$data = array("a" => "January", "b" => "February", "c" => "March");
render_table ($data) ;
echo $html ;
//===========================================
function render_table($data) {
$html = '<table>';
$tr = array();
foreach (array_keys($data[0]) as $key) {
$tr[] = '<th>' . htmlspecialchars($key) . '</th>';
}
$html .= "\n" . '<thead>' . "\n" . '<tr>' . "\n" . implode("\n", $tr) . '</tr>' . '</thead>';
$tbody = array();
foreach ($data as $row) {
$tr = array();
foreach ($row as $value) {
$tr[] = '<td>' . htmlspecialchars($value) . '</td>';
}
$tbody[] = '<tr>' . "\n" . implode("\n", $tr) . '</tr>';
}
$html .= "\n" . '<tbody>' . "\n" . implode("\n", $tbody) . '</tbody>';
$html .= '</table>';
return $html;
}
?>
Да! Это делает трюк. Я не понимал, что функция предназначена для работы с многомерными массивами. Таким образом, ошибки были 1. Как я пытался вызвать функцию; 2. Я поставил неверный тип массива; и 3. строка: foreach (array_keys ($ data AS $ key). Большое спасибо! – dave