Есть массив
Array(
[PriceModels] => Array
(
[0] => Array
(
[ArticleId] => 221802282
[ArticleCode] => GD0
[TradeMarkId] => 8233
[TradeMarkName] => Dss
[Description] => D12a
[ArticlePriceInfo] => Array
(
[0] => Array
(
[Price] => 2501.66
[Qty] => 15
[DeliveryTerm] => 0
[Multiplicity] => 1
)
[1] => Array
(
[Price] => 2501.66
[Qty] => 9
[DeliveryTerm] => 3
[Multiplicity] => 1
)
[2] => Array
(
[Price] => 2645.32
[Qty] => 6
[DeliveryTerm] => 4
[Multiplicity] => 1
)
…
Пытаюсь преобразовать массив в html. Пробовал два разных варианта:
<table><?php foreach($json_string as $val) : ?>
<tr>
<td class="item"><?php echo $val->ArticleId; ?></td>
<td class="item"><?php echo $val->ArticleCode; ?></td>
<td class="item"><?php echo $val->TradeMarkId; ?></td>
<td class="item"><?php echo $val->TradeMarkId; ?></td>
<td class="item"><?php echo $val->Price; ?></td>
<td class="item"><?php echo $val->Qty; ?></td>
<td class="item"><?php echo $val->DeliveryTerm; ?></td>
<td class="item"><?php echo $val->Multiplicity; ?></td>
</tr>
<?php endforeach; ?>
</table>
и
<?php
function htmlTree($json_string) {
$treeHtml = '<ul>';
foreach ($json_string as $val) {
$treeHtml .= '<li>'.$val['ArticleId'];
if (!empty($val['ArticlePriceInfo'])) {
$treeHtml .= htmlTree($val['ArticlePriceInfo']);
}
$treeHtml .= '</li>';
}
$treeHtml .= '</ul>';
return $treeHtml;
}
?>
Соответственно результат "ничего". Как правильно преобразовать многомерный массив в html и вывести все в виде таблицы.
Судя по названию переменной, у вас приходит в функцию json. Для начала, его нужно распарсить.
function htmlTree($json_string) {
let priceData = JSON.parse($json_string);
$treeHtml = '<ul>';
foreach (priceData as $val) {
$treeHtml .= '<li>'.$val['ArticleId'];
if (!empty($val['ArticlePriceInfo'])) {
$treeHtml .= htmlTree($val['ArticlePriceInfo']);
}
$treeHtml .= '</li>';
}
$treeHtml .= '</ul>';
return $treeHtml;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Подключил плагин mmenuПри нажатии на гамбургер, меню отодвигает бекграунд
Я хотел бы добавить границу для элементов, которые сгруппированыВ качестве примера:
Как убрать расширениеhtml в адресной строке браузера