Даты массива JSON в PHP к результатам месяцев

Я занят графиком моей Google Analytics.

Я сделал файл JSON с датами и посетителями, но теперь у меня есть каждый день года, и я хочу получать посетителей каждый месяц.

Вот пример результатов JSON:

Dagindex,Gebruikers
1-1-2017,96
2-1-2017,116
3-1-2017,114
4-1-2017,101
5-1-2017,114
6-1-2017,111
7-1-2017,112
8-1-2017,96
9-1-2017,130
10-1-2017,123
11-1-2017,126
12-1-2017,116
13-1-2017,99
14-1-2017,88
15-1-2017,98
16-1-2017,150
17-1-2017,130

Результат PHP Print_r ():

Array
(
    [0] => Array
        (
            [Dagindex] => 1-1-2017
            [Gebruikers] => 96
        )

    [1] => Array
        (
            [Dagindex] => 2-1-2017
            [Gebruikers] => 116
        )

    [2] => Array
        (
            [Dagindex] => 3-1-2017
            [Gebruikers] => 114
        )

    [3] => Array
        (
            [Dagindex] => 4-1-2017
            [Gebruikers] => 101
        )

    [4] => Array
        (
            [Dagindex] => 5-1-2017
            [Gebruikers] => 114
        )

    [5] => Array
        (
            [Dagindex] => 6-1-2017
            [Gebruikers] => 111
        )

И в результате я хочу вот что:

01-2017 = XXXXX
02-2017 = XXXXX
03-2017 = XXXXX
till 12-2017 = XXXXX

Теперь я нашел этот код ниже в stackoverflow, но я не знаю, как изменить его для своих результатов. Надеюсь, кто-нибудь сможет мне помочь.

foreach($yourarray as $key=>$val){
   $result[substr($key,0,7)] += $val;
}

Возможный дубликат Как разобрать строку даты в PHP?

versvs 30.04.2018 10:24

Спасибо за редактирование, но это все еще не JSON. CSV, может быть? Во всяком случае, это в значительной степени не имеет значения, поскольку у нас уже есть данные в формате массива.

ADyson 30.04.2018 10:47
Стоит ли изучать 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
2
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я действительно не знаю, отвечает ли это на ваш вопрос, но в соответствии с вашим json и желаемым результатом я должен сделать что-то вроде этого:

$result = array();
foreach($array as $key=>$value){
    list($d,$m,$y) = explode("-", $value['Dagindex']);
    $result[$m.'-'.$y] += $value['Gebruikers'];
}

Также попробуйте это, это короткий код, но я получаю сообщение «Notice: Undefined index: 1-2017 in»

Gurdt 30.04.2018 10:56

гм, я забыл добавить ценную бумагу, если индекс не существует ... добавьте if (!isset($result[$m.'-'.$y])) { $result[$m.'-'.$y] = 0; } перед $result[...] = ....

Fanie Void 30.04.2018 11:21

Как я могу это добавить :)

Gurdt 30.04.2018 11:24

Вам просто нужно добавить его между строками с list() и $result

Fanie Void 30.04.2018 11:27

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