CSV-файл Laravel, читающий Angular как передний

Всем добрый день!

У меня есть файл CSV, внутри него:

1,453453,4,578413,0,314132,0,764312,0,123422 2,453453,3,578413,0,764312,0,314132,0,123422 3,453453,2,578413,0,123422,0,764312,0,314132 4,453453,1,578413,0,314132,0,123422,0,764312

Чтобы прочитать это в почтальоне, это мой код:

    $keys = ['PGA', 'PGV', 'X-Axis', 'Y-Axis', 'Z-Axis'];
    $json = [];
    $path = Storage::path('upload/test.txt');
    $file = fopen($path, 'r');
    while (($line = fgetcsv($file)) !== false) {
         $json[] = array_combine($keys, $line);
    }
    fclose($file);
    return json_encode($json);

Результат:

[
    {
        "PGA": "1.453453",
        "PGV": "4.578413",
        "X-Axis": "0.314132",
        "Y-Axis": "0.764312",
        "Z-Axis": "0.123422"
    },
    {
        "PGA": "2.453453",
        "PGV": "3.578413",
        "X-Axis": "0.764312",
        "Y-Axis": "0.314132",
        "Z-Axis": "0.123422"
    },
    {
        "PGA": "3.453453",
        "PGV": "2.578413",
        "X-Axis": "0.123422",
        "Y-Axis": "0.764312",
        "Z-Axis": "0.314132"
    },
    {
        "PGA": "4.453453",
        "PGV": "1.578413",
        "X-Axis": "0.314132",
        "Y-Axis": "0.123422",
        "Z-Axis": "0.764312"
    }
]

но мне нужно добавить «данные:» перед данными и быть внутри другого {}: так:

{    
  "data":  [
        {
            "PGA": "1.453453",
            "PGV": "4.578413",
            "X-Axis": "0.314132",
            "Y-Axis": "0.764312",
            "Z-Axis": "0.123422"
        },
        {
            "PGA": "2.453453",
            "PGV": "3.578413",
            "X-Axis": "0.764312",
            "Y-Axis": "0.314132",
            "Z-Axis": "0.123422"
        },
        {
            "PGA": "3.453453",
            "PGV": "2.578413",
            "X-Axis": "0.123422",
            "Y-Axis": "0.764312",
            "Z-Axis": "0.314132"
        },
        {
            "PGA": "4.453453",
            "PGV": "1.578413",
            "X-Axis": "0.314132",
            "Y-Axis": "0.123422",
            "Z-Axis": "0.764312"
        }
    ]
}

Я использую angular в качестве внешнего интерфейса, и мне нужно, чтобы это было показано. поэтому мне нужно добавить сказанное выше. спасибо за каждую помощь вы даете! Я должен поставить 'data:', чтобы вызвать его внутри веб-страницы.

Спасибо!

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
135
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
    $keys = ['PGA', 'PGV', 'X-Axis', 'Y-Axis', 'Z-Axis'];
    $json = [];
    $path = Storage::path('upload/test.txt');

    $file = fopen($path, 'r');
    while (($line = fgetcsv($file)) !== false) {
        $json[] = array_combine($keys, $line);
    }
    fclose($file);

    $modified = ["data" => $json];

    return json_encode($modified);

Пожалуйста, рассмотрите возможность добавления объяснения или комментариев к коду, а не просто блока кода.

ItsPete 07.03.2019 06:14

Другие вопросы по теме