Как перебрать значения JSON-вложенных массивов в PHP? Таблица данных

Просто создайте руководство для своего решения.

Если вы используете локальный IIS, попробуйте удалить регистрацию сайта в диспетчере IIS и затем заново создать его вручную.

0
задан Allegro Canttabile 15 January 2019 в 17:18
поделиться

1 ответ

Я думаю, что понимаю вашу цель. Вот фрагмент ...

Код: ( Демо )

$ventas[0]["productos"] = '[{"id":"312","marca":"NIKON","modelo":"D3400","serie":"8857882","cantidad":"1","stock":"0","precio":"1669","total":"1669"},{"id":"161","marca":"NIKON","modelo":"AF-P NIKKOR 18-55MM 1:3.5-5.6G","serie":"21963658","cantidad":"1","stock":"0","precio":"0","total":"0"}]';
// do not write the above sample data in your code.

$data = [];

foreach ($ventas as $row) {
    foreach (json_decode($row["productos"], true) as $details) {
        $data[] = [$details['marca'], $details['modelo']];
    }
}

echo json_encode(['data' => $data]);

Выход:

{"data":[["NIKON","D3400"],["NIKON","AF-P NIKKOR 18-55MM 1:3.5-5.6G"]]}

Использование foreach вместо for избавляет от необходимости count и обеспечивает более простой синтаксис.

Использование json_encode() в качестве последнего шага делает код намного более стабильным и легким для чтения.

Вы действительно ДЕЙСТВИТЕЛЬНО должны нормализовать структуру таблицы, чтобы упростить / улучшить запросы. Хранение в формате json требует большей обработки и лишает возможности создавать умные / прямые запросы.

0
ответ дан mickmackusa 15 January 2019 в 17:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: