$person) { if (isset($person["death"]["date"]) && isset($person["death"]["date"]["year"])) { if (isset($counts[(string)$person["death"]["date"]["year"]])) { $counts[(string)$person["death"]["date"]["year"]]++; } else { $counts[(string)$person["death"]["date"]["year"]] = 1; } if (!in_array((string)$person["death"]["date"]["year"], $names)) { $names[] = (string)$person["death"]["date"]["year"]; } } } foreach ($names as $name) { $arr[] = [ 'name' => $name, 'occurrences' => $counts[$name] . " personne" . ($counts[$name] > 1 ? "s" : "") ]; } echo(json_encode($arr));