Упражнения с массивами PHP: Переписать подмассивы в ассоциативные и вывести в таблице HTML
Переписать подмассивы в ассоциативные и вывести в таблице HTML
Продолжим работу с массивом больших городов $multiCity из предыдущего упражнения и перепишем его как ассоциативный массив.
Удалите первый подмассив array('Город', 'Страна', 'Континент') и добавьте ключи к соответствующим элементам в оставшихся массивах. Например, сопоставьте Город с Токио, Страна с Японией и Континент с Азией.
Каждый из последующих подмассивов должен включать эти три элемента, по одному для каждого из городов, всего 11 подмассивов.
Удалите код первого сценария для строки заголовка таблицы и вместо него напишите цикл foreach для перебора ключей одного из подмассивов. Для остальных строк убедитесь, что цикл for начинается с начала массива.
Вы должны получить точно такую же таблицу HTML, как и в предыдущем упражнении.
Пример
Попробуй сам »<?php
$multiCity=array(
array( 'Город' => 'Токио' ,
'Страна' => 'Япония' ,
'Континент' => 'Азия' ) ,
array( 'Город' => 'Мехико' ,
'Страна' => 'Мексика' ,
'Континент' => 'Северная Америка' ) ,
array( 'Город' => 'Нью-Йорк' ,
'Страна' => 'USA' ,
'Континент' => 'Северная Америка' ) ,
array( 'Город' => 'Мумбаи' ,
'Страна' => 'Индия' ,
'Континент' => 'Азия' ) ,
array( 'Город' => 'Сеул' ,
'Страна' => 'Корея' ,
'Континент' => 'Азия' ) ,
array( 'Город' => 'Шанхай' ,
'Страна' => 'Китай' ,
'Континент' => 'Азия' ) ,
array( 'Город' => 'Лагос' ,
'Страна' => 'Нигерия' ,
'Континент' => 'Африка' ) ,
array( 'Город' => 'Буэнос-Айрес' ,
'Страна' => 'Аргентина' ,
'Континент' => 'Южная Америка' ) ,
array( 'Город' => 'Каир' ,
'Страна' => 'Египет' ,
'Континент' => 'Африка' ) ,
array( 'Город' => 'Лондон' ,
'Страна' => 'UK' ,
'Континент' => 'Европа' )
) ;
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<title>Многомерный массив</title>
<style type="text/css">
td, th {width: 8em; border: 1px solid black; padding-left: 4px;}
th {text-align:center;}
table {border-collapse: collapse; border: 1px solid black;}
</style>
</head>
<body>
<h2>Таблица городов<br /></h2>
<table>
<thead>
<tr>
<?php
//На этот раз используйте foreach для перебора ключей
foreach ($multiCity[0] as $key=>$value){
echo "<th>$key</th>\n";
}
?>
</tr>
</thead>
<?php
//Получаем количество строк.
$num = count($multiCity);
//Теперь счетчик должен начинаться с "0". Это единственное изменение, которое нужно этому циклу.
// для размещения измененного массива.
for ($row=0; $row<$num; $row++){
echo "<tr>\n";
foreach ($multiCity[$row] as $value){
echo "<td>$value</td>\n";
}
echo "</tr>\n";
}
?>
</table>
</body>
</html>
Комментарии
<code>
, несколько строчек кода — в теги<pre><code>
...ваш код...</code></pre>
.