> 백엔드 개발 > PHP 튜토리얼 > PHP에서 두 개체를 병합하는 방법은 무엇입니까? (코드 예)

PHP에서 두 개체를 병합하는 방법은 무엇입니까? (코드 예)

青灯夜游
풀어 주다: 2023-04-05 15:14:02
원래의
11878명이 탐색했습니다.

PHP에서 동일한 클래스의 두 개체가 주어지면 두 개체를 단일 개체로 병합하는 방법은 무엇입니까? 다음 기사에서는 PHP에서 두 개체를 병합하는 방법을 소개합니다. 이것이 도움이 되기를 바랍니다. [동영상 튜토리얼 추천: PHP 튜토리얼]

PHP에서 두 개체를 병합하는 방법은 무엇입니까? (코드 예)

방법 1: 먼저 객체를 데이터 배열로 변환한 다음 array_merge() 함수를 사용하여 병합하고 마지막으로 병합된 데이터를 stdClass 객체로 변환합니다.

참고: array_merge()를 사용하여 객체를 병합하면 인수1의 배열 요소가 인수2의 배열 요소로 덮어쓰여집니다. Argument2의 배열에 Null 값이 있으면 최종 개체의 결과 요소가 무효화될 수 있습니다.

예:

<?php 
class demo { 
    // 空类
} 
  
$objectA = new demo(); 
$objectA->a = 1; 
$objectA->b = 2; 
$objectA->d = 3; 
  
$objectB = new demo(); 
$objectB->d = 4; 
$objectB->e = 5; 
$objectB->f = 6; 
  
$obj_merged = (object) array_merge( 
        (array) $objectA, (array) $objectB); 
          
var_dump($obj_merged); 
  
?>
로그인 후 복사

출력:

PHP에서 두 개체를 병합하는 방법은 무엇입니까? (코드 예)

방법 2: 원래 클래스의 새 개체를 만들고 foreach 루프를 사용하여 두 개체의 모든 속성을 이 새 개체에 할당합니다.

설명: 두 개체를 병합하는 간단하고 깔끔한 방법입니다.

예:

<?php 
class demo { 
    // 空类
} 
$objectA = new demo(); 
$objectA->A = 1; 
$objectA->B = 2; 
$objectA->C = 3; 
$objectA->D = 4; 
$objectA->E = 5; 
$objectB = new demo(); 
$objectB->D = 6; 
$objectB->E = 7; 
$objectB->F = 8; 
  
// 用于转换给定对象类的函数
function convertObjectClass($objectA, $objectB, $final_class) { 
  
    $new_object = new $final_class(); 
  
    // 初始化类属性
    foreach($objectA as $property => $value) { 
        $new_object->$property = $value; 
    } 
      
    foreach($objectB as $property => $value) { 
        $new_object->$property = $value; 
    } 
  
    return $new_object; 
} 
  
$obj_merged = convertObjectClass($objectA,$objectB, &#39;demo&#39;); 
          
var_dump($obj_merged); 
  
?>
로그인 후 복사

출력:

PHP에서 두 개체를 병합하는 방법은 무엇입니까? (코드 예)

위는 이 글의 전체 내용입니다. 모든 사람의 학습에 도움이 되기를 바랍니다. 더 흥미로운 내용을 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주의 깊게 살펴보세요! ! !

위 내용은 PHP에서 두 개체를 병합하는 방법은 무엇입니까? (코드 예)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿