>백엔드 개발 >PHP 튜토리얼 >PHP 개체를 연관 배열로 쉽게 변환하는 방법은 무엇입니까?

PHP 개체를 연관 배열로 쉽게 변환하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-26 10:54:10618검색

How to Easily Convert a PHP Object into an Associative Array?

PHP 객체를 연관 배열로 변환하는 방법

코드에서 배열을 사용하는 경우 객체의 데이터와 작동하는 API를 통합하는 것이 어려울 수 있습니다. 다행스럽게도 PHP는 객체를 연관 배열로 변환하는 간단한 방법을 제공합니다.

객체를 간단히 타입캐스트

객체를 배열로 변환하려면 간단히 타입캐스트하세요:

$array = (array) $yourObject;

결과 배열 이해

PHP에서 언급한 바와 같이 문서:

"객체를 배열로 변환하면 결과는 객체의 속성을 요소로 포함하는 배열이 됩니다."

그러나 특정 속성은 다르게 동작할 수 있습니다.

  • 정수 속성: 접근 불가능
  • 개인 변수: 클래스 이름 앞에 붙음
  • 보호된 변수: 앞에 '*'가 붙음

간단 개체:

$object = new StdClass;
$object->foo = 1;
$object->bar = 2;

var_dump((array) $object);

출력:

array(2) {
  'foo' => int(1)
  'bar' => int(2)
}

복합 개체:

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

    public function __construct() {
        $this->foo = 1;
        $this->bar = 2;
        $this->baz = new StdClass;
    }
}

var_dump((array) new Foo);

출력:

array(3) {
  'Foofoo' => int(1)
  '*bar' => int(2)
  'baz' => class stdClass#2 (0) {}
}

제한 사항

직접 Typecasting은 개체 그래프의 딥 캐스팅을 수행하지 않습니다. 비공개 속성에 접근하려면 PHP 매뉴얼에 언급된 널 바이트를 적용해야 합니다. 이 방법은 간단한 StdClass 객체 또는 공용 속성만 가진 객체를 캐스팅하는 데 가장 적합합니다.

자세한 내용은 다음을 읽어보세요.

  • 배열에 대한 PHP 문서: https: //www.php.net/manual/en/function.array.php
  • StdClass 객체 문서: https://www.php.net/manual/en/class.stdclass.php
  • "빠른 PHP 객체를 배열로 변환": https://stitcher.io/blog/fast-php-object- 배열로 변환

위 내용은 PHP 개체를 연관 배열로 쉽게 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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