Как вывести массив в массиве красиво разложив? [закрыт]

127
24 января 2020, 08:30
Закрыт. Этот вопрос не по теме. Ответы на него в данный момент не принимаются.

Хотите улучшить этот вопрос? Переформулируйте вопрос, чтобы он соответствовал тематике «Stack Overflow на русском».

Закрыт 10 месяцев назад.

Простите за банальный возможно вопрос, но гуглить уже нет сил конкретно свой пример. Как красиво (возможно с помощью foreach) разложить такой массив, вывел через print_r:

Array
(
[0] => Array
    (
        [price-name] => Терапия
        [price-repeater] => Array
            (
                [0] => Array
                    (
                        [name] => Приём терапевта (осмотр, постановка первичного диагноза)
                        [price] => 500
                        [sale] => 450
                    )
                [1] => Array
                    (
                        [name] => Консультация по результатам исследований
                        [price] => 400
                        [sale] => 390
                    )
                [2] => Array
                    (
                        [name] => Консультация по зооветеринарным вопросам (15 минут)
                        [price] => 800
                        [sale] => 785
                    )
            )
    )
[1] => Array
    (
        [price-name] => Диагностика
        [price-repeater] => Array
            (
                [0] => Array
                    (
                        [name] => Пример услуги
                        [price] => 1150
                        [sale] => 1150
                    )
            )
    )
)

Чтобы вывело нечто вида:

<div id="1"> 
<h2>Терапия</h2> 
<table> 
  <thead> 
    <tr> 
      <th scope="col">Наименование услуги</th> 
      <th scope="col">Стоимость</th> 
      <th scope="col">Стоимость со скидкой</th> 
    </tr> 
  </thead> 
  <tbody> 
    <tr> 
      <th>Приём терапевта (осмотр, постановка первичного диагноза)</th> 
      <td>500</td> 
      <td>450</td> 
    </tr> 
    <tr> 
      <th>Консультация по результатам исследований</th> 
      <td>400</td> 
      <td>390</td> 
    </tr> 
    <tr> 
      <th>Консультация по зооветеринарным вопросам (15 минут)</th> 
      <td>800</td> 
      <td>785</td> 
    </tr> 
  </tbody> 
</table> 
</div> 
<div id="2"> 
<h2>Диагностика</h2> 
<table> 
  <thead> 
    <tr> 
      <th scope="col">Наименование услуги</th> 
      <th scope="col">Стоимость</th> 
      <th scope="col">Стоимость со скидкой</th> 
    </tr> 
  </thead> 
  <tbody> 
    <tr> 
      <th>Пример услуги</th> 
      <td>1150</td> 
      <td>1150</td> 
    </tr> 
  </tbody> 
</table> 
</div>

Answer 1
foreach($ar as $key=>$item)
    {
        echo '<div id="'.($key+1).'">
        <h2>'.$item['price-name'].'</h2>
        <table>
          <thead>
            <tr>
              <th scope="col">Наименование услуги</th>
              <th scope="col">Стоимость</th>
              <th scope="col">Стоимость со скидкой</th>
            </tr>
          </thead>
          <tbody>';
        foreach($item['price-repeater'] as $item2)
        {
            echo '
            <tr>
                <th>'.$item2['name'].'</th>
                <td>'.$item2['price'].'</td>
                <td>'.$item2['sale'].'</td>
            </tr>';
        }
            echo '
          </tbody>
        </table>
        </div>
        '; 
    }

Тест

READ ALSO
Получение ключа доступа приложения в VK

Получение ключа доступа приложения в VK

Всем привет, нужна помощь, хотел сделать бота в группу в вк, но появилась ошибка при получении токена приложенияПерехожу по такой ссылке:

175
Как в DetailView отобразить отформатированный массив?

Как в DetailView отобразить отформатированный массив?

Есть у меня поле в модели с Json строкойКак ей можно отобразить в как отоформатированный массив в DetailView::widget? То есть мне нужно сделать тоже...

166
Как запарсить массив для формирования pach

Как запарсить массив для формирования pach

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

133