Вывод элементов массива в таблицу(php)

177
13 декабря 2021, 13:40
<?php
$arr=array(
    "Имя"=> array('Максим','Алексей','Андрей','Вадим','Игорь','Ольга',),
    "Возраст"=> array('22','21','26','20','22','22',),
    "Хобби"=> array('Диджеинг','Покемоны','Чтение','Танцы','Английский язык','Рисование',),
    "Оценка"=> array('4','5','5','3','5','4',),
);
echo "<table border style='border-collapse:collapse;width:500px;text-align:center'><tr>";
foreach ($arr as $key => $value) {
    echo "<td>$key</td>";
}
echo "</tr>";

foreach ($arr as $key => $value) {
    echo "<tr>";
        for ($i = 0; $i <= count($value)-1; $i++)
            {echo "<td>$value[$i]</td>";}
    echo "</tr>";
}

?>

Нужно , чтобы колонки соотвествовали значениям , к примеру в колонке возраст только ячейки с возрастом и т.д. Крутил по всякому, не выходит.

Answer 1

попробуйте так:

$arr=array(
    "Имя"=> array('Максим','Алексей','Андрей','Вадим','Игорь','Ольга',),
    "Возраст"=> array('22','21','26','20','22','22',),
    "Хобби"=> array('Диджеинг','Покемоны','Чтение','Танцы','Английский язык','Рисование',),
    "Оценка"=> array('4','5','5','3','5','4',),
);
echo "<table border style='border-collapse:collapse;width:500px;text-align:center'><tr>";
foreach ($arr as $key => $value) {
    echo "<td>$key</td>";
}
echo "</tr>";   
for ($i = 0; $i <= count(end($arr))-1; $i++) {
    echo "<tr>";
    foreach($arr as $val) {
         echo "<td>$val[$i]</td>"; 
    }   
    echo "</tr>";
}
echo "</table>";
Answer 2

В качестве решения можно предложить формировать массив с данными в нужном формате:

$arr = [
  [
    'Имя' => 'Максим',
    'Возраст' => 22,
    'Хобби' => 'Диджеинг',
    'Оценка' => 4,
  ],
  [
    'Имя' => 'Алексей',
    'Возраст' => 21,
    'Хобби' => 'Покемоны',
    'Оценка' => 5,
  ],
];

Тогда вывод данных в таблицу осуществляется просто проходом по массиву

Answer 3

Разобрался сам , если вдруг кому интересно(врядли), снизу прикрепил код.

  <?php
    $arr=array(
        "Имя"=> array('Максим','Алексей','Андрей','Вадим','Игорь','Ольга',),
        "Возраст"=> array('22','21','26','20','22','22',),
        "Хобби"=> array('Диджеинг','Покемоны','Чтение','Танцы','Английский язык','Рисование',),
        "Оценка"=> array('4','5','5','3','5','4',),
    );
    echo "<table border style='border-collapse:collapse;width:500px;text-align:center'>";
    foreach ($arr as $key => $value) {
        echo "<td>$key</td>";   
    }
    for ($i=0; $i <= count($value)-1 ; $i++) { 
        echo "<tr>";
        foreach ($arr as $key => $value) {
        echo "<td>$value[$i]</td>";     
    }
    echo "</tr>";
    }

    ?>
READ ALSO
Yandex.касса и Android SDK

Yandex.касса и Android SDK

Имеет место быть некий сайт с платными услугамиОнлайн реализованы отношения с кассой через API

91
Авторизация на сайте с помощью CURL

Авторизация на сайте с помощью CURL

Всем приветПытаюсь пройти авторизацию на сайте https://www

182
Ссылка на товар в корзине

Ссылка на товар в корзине

В магазине на woocommerce на товаре есть кнопка, по нажатию которой переходим на страницу корзины с формой для регистрации, в которой вводим свои...

117
Смена сессии при каждом обновлении страницы

Смена сессии при каждом обновлении страницы

Происходит смена сессии при каждом обновлении страницыНапрямую открываю - сессия стабильна

158