Zu den Methoden zum tiefen Kopieren von Arrays in PHP gehören: JSON-Kodierung und -Dekodierung mit json_decode und json_encode. Verwenden Sie array_map und clone, um tiefe Kopien von Schlüsseln und Werten zu erstellen. Verwenden Sie Serialize und Deserialize für die Serialisierung und Deserialisierung.
Die Kunst des PHP Array Deep Copy: Mit verschiedenen Methoden eine perfekte Kopie erzielen
In PHP ist ein Array eine leistungsstarke Datenstruktur, die zum Speichern und Verwalten verwandter Daten verwendet wird. Manchmal müssen wir eine Kopie eines Arrays erstellen, um Operationen auszuführen oder um versehentliche Änderungen an seinen Originaldaten zu vermeiden. Hier kommt Deep Copy ins Spiel: Es erstellt ein neues Array, das alle Elemente des ursprünglichen Arrays enthält, einschließlich verschachtelter Arrays und Objekte.
Methode 1: json_decode
und json_encode
json_decode
和 json_encode
<?php $originalArray = [ 'name' => 'John Doe', 'age' => 30, 'hobbies' => ['reading', 'hiking', 'coding'] ]; // JSON 编码原始数组 $jsonEncoded = json_encode($originalArray); // JSON 解码 JSON 编码的字符串 $deepCopy = json_decode($jsonEncoded, true); print_r($deepCopy); ?>
方法 2:array_map
和 clone
<?php $originalArray = [ 'name' => 'Jane Smith', 'age' => 25, 'address' => ['street' => 'Main Street', 'number' => 123] ]; // 复制数组键及其值的深度副本 $deepCopy = array_map(function($value) { return is_array($value) ? array_map('clone', $value) : clone $value; }, $originalArray); print_r($deepCopy); ?>
方法 3:serialize
和 unserialize
<?php $originalArray = [ 'product' => 'Book', 'quantity' => 5, 'details' => ['author' => 'John Smith', 'publisher' => 'ACME Press'] ]; // 序列化原始数组 $serialized = serialize($originalArray); // 反序列化序列化字符串 $deepCopy = unserialize($serialized); print_r($deepCopy); ?>
Methode 2: array_map
und clone
<?php // 原始购物篮数组 $originalCart = [ ['product' => 'Book', 'quantity' => 3], ['product' => 'Pen', 'quantity' => 2], ['product' => 'Charger', 'quantity' => 1] ]; // 使用方法 1 创建购物篮副本 $deepCopy = json_decode(json_encode($originalCart), true); // 在副本中移除一个商品 unset($deepCopy[1]); // 输出更新后的购物篮副本 print_r($deepCopy); ?>
Methode 3: serialisieren
und unserialisieren
Das obige ist der detaillierte Inhalt vonDie Kunst des PHP Array Deep Copy: Mit verschiedenen Methoden eine perfekte Kopie erzielen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!