• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Einträge aus json Datei löschen anhand einer id

@Alphavirus

Mitglied
Hallo alle zusammen
Nachdem das Problem aus meinem letzten Post gelöst ist, hab ich hier gleich das Nächste.
Ich habe ein Kontaktbuch, in welchem die kontakte in einer json Datei contacts.txt abgespeichert werden.
Nun will ich einen Eintrag anhand der Id irgendwie löschen.

Hier der Inhalt der contacts.txt:

JSON:
[
    {
        "name": "John Doe",
        "phone": "0190",
        "id": 1731854686
    },
    {
        "name": "Maxi Mustermann",
        "phone": "01903",
        "id": 1731854730
    },
    {
        "name": "Heather",
        "phone": "01903",
        "id": 1731854979
    }
]
 
Du kannst das JSON in PHP einlesen, die betreffende ID entfernen und dann das JSON wieder in deine txt-Datei speichern. Das ganze ungetestet.

PHP:
// JSON-Daten
$jsonData = '[
    {
        "name": "John Doe",
        "phone": "0190",
        "id": 1731854686
    },
    {
        "name": "Maxi Mustermann",
        "phone": "01903",
        "id": 1731854730
    },
    {
        "name": "Heather",
        "phone": "01903",
        "id": 1731854979
    }
]';

// ID, die gelöscht werden soll
$deleteId = 1731854730;

// JSON-Daten dekodieren
$data = json_decode($jsonData, true); // true = assoziatives Array

// Durch das Array iterieren und den Eintrag löschen
foreach ($data as $key => $entry) {
    if ($entry['id'] == $deleteId) {
        unset($data[$key]); // Eintrag löschen
        break; // Keine weiteren Iterationen nötig
    }
}

// Neu kodierte JSON-Daten
$newJsonData = json_encode(array_values($data), JSON_PRETTY_PRINT);

// Ausgabe
echo $newJsonData;
 
Zurück
Oben