PHP 어레이 딥 카피(Array Deep Copy) 기술: 다양한 방법을 사용하여 완벽한 카피 달성
May 01, 2024 pm 12:30 PMPHP에서 배열 전체 복사를 위한 방법에는 json_decode 및 json_encode를 사용한 JSON 인코딩 및 디코딩이 포함됩니다. array_map 및 clone을 사용하여 키와 값의 전체 복사본을 만듭니다. 직렬화 및 역직렬화를 위해 직렬화 및 역직렬화를 사용합니다.
PHP 배열 심층 복사의 예술: 다양한 방법을 사용하여 완벽한 복사 달성
PHP에서 배열은 관련 데이터를 저장하고 관리하는 데 사용되는 강력한 데이터 구조입니다. 때로는 작업을 수행하거나 원본 데이터가 실수로 수정되는 것을 방지하기 위해 배열의 복사본을 만들어야 하는 경우도 있습니다. 이것이 딥 카피가 작동하는 곳입니다. 중첩된 배열과 객체를 포함하여 원본 배열의 모든 요소를 포함하는 새 배열을 생성합니다.
방법 1: json_decode
및 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); ?>
방법 2: array_map
및 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); ?>
방법 3: 직렬화
및 직렬화 해제
위 내용은 PHP 어레이 딥 카피(Array Deep Copy) 기술: 다양한 방법을 사용하여 완벽한 카피 달성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











foreach 루프를 사용하여 PHP 배열에서 중복 요소를 제거하는 방법은 무엇입니까?

PHP 배열 다차원 정렬 연습: 간단한 시나리오부터 복잡한 시나리오까지

PHP 어레이 딥 카피(Array Deep Copy) 기술: 다양한 방법을 사용하여 완벽한 카피 달성
