Avatar ·

Wie man in PHP ein Array vollständig in eine andere Variable kopiert, sodass Änderungen das Original nicht beeinflussen

Hallo Kollegen! Ich bin neu in PHP und bin auf eine unverständliche Situation gestoßen. Ich habe ein Array mit Benutzereinstellungen und möchte ein Backup davon erstellen, um es später wiederherzustellen, falls etwas schiefgeht. Hier ist ein vereinfachtes Beispiel: ```php $original = ['name' => 'Иван', 'age' => 30, 'hobbies' => ['чтение', 'бег']]; $backup = $original; // Ich dachte, das wäre eine Kopie ``` Ich ändere die Kopie, aber die Änderungen betreffen das Original: ```php $backup['name'] = 'Петр'; echo $original['name']; // Gibt 'Иван' aus — ok, das funktioniert ``` Aber wenn ich das verschachtelte Array ändere: ```php $backup['hobbies'][] = 'программирование'; print_r($original['hobbies']); // Gibt ['чтение', 'бег', 'программирование'] aus ``` Das Original hat sich ebenfalls geändert! Ich habe gelesen, dass Arrays in PHP standardmäßig bei der Zuweisung kopiert werden (copy-on-write), aber das funktioniert nicht für verschachtelte Arrays. Gibt es eine eingebaute Funktion, die eine deep copy des Arrays erstellt, sodass alle Verschachtelungsebenen unabhängig sind? Oder muss ich