>백엔드 개발 >PHP 튜토리얼 >PHP 객체를 연관 배열로 쉽게 변환하려면 어떻게 해야 합니까?

PHP 객체를 연관 배열로 쉽게 변환하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-20 08:33:08822검색

How Can I Easily Convert PHP Objects to Associative Arrays?

PHP 객체를 연관 배열로 쉽게 변환

객체 지향 구조를 활용하는 API와 통합할 때 이러한 객체를 변환해야 합니다. 기존 코드와의 호환성을 위해 연관 배열로 변환합니다. PHP에서 이러한 변환을 수행하는 간단하고 효율적인 방법은 다음과 같습니다.

해결책: Typecasting

단순히 객체를 배열로 형변환하면 키가 포함된 연관 배열로 변환됩니다. 객체의 속성 이름입니다.

$array = (array) $yourObject;

이 타입캐스트는 딥 캐스팅을 수행하지 않으므로 객체에 중첩된 객체가 포함되어 있으면 배열로 변환되지 않습니다. 그러나 공용 속성이 있는 객체나 간단한 StdClass 객체에는 적합합니다.

복잡한 객체 및 속성 접근성

더 복잡한 객체의 경우 타입 캐스팅을 사용하면 원하는 결과를 얻지 못할 수 있습니다. . PHP에는 타입캐스트된 배열의 비공개 속성에 액세스하기 위한 특정 규칙이 있습니다.

  • 개인 속성: 속성 이름 앞에 클래스 이름과 null 바이트( classname propertyName)를 추가합니다.
  • 보호되는 속성: 속성 이름 앞에 별표(*)와 null 바이트를 추가하세요. ( * propertyName)

예:

class Foo
{
    private $foo;
    protected $bar;
    public $baz;
}

var_dump((array) new Foo());

출력:

array(3) {
  ["Foofoo"] => int(1)
  ["*bar"] => int(2)
  ["baz"] => StdClass Object ( ... )
}

딥 캐스팅 및 추가 리소스

물체의 딥캐스팅이 필요한 경우 그래프 또는 이 변환 기술에 대한 더 많은 통찰력이 필요한 경우 다음 리소스를 참조하는 것이 좋습니다.

  • PHP 매뉴얼: 배열
  • 블로그 게시물: 빠른 PHP 객체에서 배열로 변환
  • PHP StdClass 문서

위 내용은 PHP 객체를 연관 배열로 쉽게 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.