ciao!

grazie, così sembra funzionare bene:
codice:
<?php

$json = '{
        "data": [
            {
                "regione": "lazio",
                "citta": "roma"
            },
            {
                "regione": "lazio",
                "citta": "latina"
            },
            {
                "regione": "campania",
                "citta": "napoli"
            },
            {
                "regione": "puglia",
                "citta": "bari"
            },
            {
                "regione": "puglia",
                "citta": "taranto"
            }
        ]
    }';

$data = json_decode($json, true);

$remapped = [];
foreach ($data['data'] ?? [] as $item) {
    $remapped[$item['regione']][] = $item['citta'];
}

foreach ($remapped as $k) {
    echo "<h1>$k[0]</h1>";
    echo "<ul>";
    foreach ($k as $v) {
        echo "<li>$v</li>";
    }
    echo "</ul><hr>";
}
poi gli do una sistemata!