Я занят графиком моей 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;
}
Спасибо за редактирование, но это все еще не JSON. CSV, может быть? Во всяком случае, это в значительной степени не имеет значения, поскольку у нас уже есть данные в формате массива.






Я действительно не знаю, отвечает ли это на ваш вопрос, но в соответствии с вашим 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»
гм, я забыл добавить ценную бумагу, если индекс не существует ... добавьте if (!isset($result[$m.'-'.$y])) { $result[$m.'-'.$y] = 0; } перед $result[...] = ....
Как я могу это добавить :)
Вам просто нужно добавить его между строками с list() и $result
Возможный дубликат Как разобрать строку даты в PHP?