<?php
$input = '[
{
"date": "2022-02-15",
"websites": [
{
"website_name": "instagram",
"num_followers": "123146780"
},
{
"website_name": "instagram",
"num_followers": "123134954"
},
{
"website_name": "tiktok",
"num_followers": "123184229"
}
]
},
{
"date": "2022-02-14",
"websites": [
{
"website_name": "instagram",
"num_followers": "123057832"
},
{
"website_name": "tiktok",
"num_followers": "123058141"
},
{
"website_name": "tiktok",
"num_followers": "123058219"
},
{
"website_name": "instagram",
"num_followers": "123059280"
}
]
}
]';
$data = [];
foreach (json_decode($input, true) as $day) {
$items['date'] = $day['date'];
$sites = [];
foreach ($day['websites'] as $site) {
$name = $site['website_name'];
if (key_exists($name, $sites) === false) {
$sites[$name] = $site;
continue;
}
if ($sites[$name]['num_followers'] < $site['num_followers']) {
$sites[$name] = $site;
}
}
$items['websites'] = array_values($sites);
$data[] = $items;
}
var_dump(json_encode($data, JSON_PRETTY_PRINT));
- Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.26, 8.4.1 - 8.4.13
- string(620) "[
{
"date": "2022-02-15",
"websites": [
{
"website_name": "instagram",
"num_followers": "123146780"
},
{
"website_name": "tiktok",
"num_followers": "123184229"
}
]
},
{
"date": "2022-02-14",
"websites": [
{
"website_name": "instagram",
"num_followers": "123059280"
},
{
"website_name": "tiktok",
"num_followers": "123058219"
}
]
}
]"
preferences:
121.76 ms | 408 KiB | 5 Q