PHP 반환 객체가 배열로 변환됨

WBOY
풀어 주다: 2023-05-19 14:33:08
원래의
596명이 탐색했습니다.

PHP 프로그래밍에서는 객체를 배열로 변환해야 하는 경우가 많습니다. 이러한 요구 사항은 일반적으로 웹 애플리케이션을 작성할 때 데이터베이스나 기타 데이터 소스에서 얻은 데이터가 일반적으로 개체 형식으로 반환되기 때문입니다. 이 데이터를 처리하고 읽기 쉽고 처리하기 쉬운 방식으로 표시하려면 이러한 개체를 배열로 변환해야 합니다.

PHP는 유연성과 사용 용이성으로 유명하므로 객체를 배열로 변환하는 것도 매우 간단합니다. PHP에서는 일부 내장 함수를 사용하여 이 작업을 수행할 수 있으며 타사 라이브러리를 사용하여 변환의 사용자 정의 가능성과 기능을 향상시킬 수도 있습니다.

이 글에서는 PHP가 반환한 객체를 배열로 변환하는 여러 가지 방법을 살펴보겠습니다. 이 방법에서는 PHP 7 구문을 사용합니다. 그러나 이러한 예제 코드의 구문을 이전 버전의 PHP에 쉽게 적용할 수 있습니다.

  1. 타입 캐스팅 사용

먼저 가장 간단한 방법인 타입 캐스팅을 사용하는 방법을 소개하겠습니다. 이 방법은 객체를 배열로 변환하는 가장 간단한 방법이자 가장 일반적으로 사용되는 방법입니다.

타입 캐스팅을 사용할 때는 객체를 배열 키워드로 둘러싸기만 하면 됩니다. 예:

<?php
// a sample object
$obj = (object) ['foo' => 'bar', 'property' => 1];

// using type casting to convert object to array
$array = (array) $obj;

// displaying the array
print_r($array);
?>
로그인 후 복사

출력은 다음과 같습니다.

Array
(
    [foo] => bar
    [property] => 1
)
로그인 후 복사
로그인 후 복사

보시다시피 유형 캐스팅을 사용하여 $obj 객체를 $array 배열로 변환할 수 있습니다. 변환이 완료되면 print_r() 함수를 사용하여 배열의 내용을 볼 수 있습니다.

  1. get_object_vars() 함수를 사용하여 변환

두 번째로, PHP에 내장된 단축키인 get_object_vars() 함수를 사용해 보겠습니다. 이 함수는 키로 명명된 객체 속성과 값으로 속성 값으로 구성된 연관 배열을 반환합니다.

이 방법을 사용할 때는 get_object_vars() 함수를 통해 객체에 대해 작업을 수행하고 그 결과를 배열에 저장하기만 하면 됩니다. 예:

<?php
// a sample object
$obj = (object) ['foo' => 'bar', 'property' => 1];

// using get_object_vars() function to convert object to array
$array = get_object_vars($obj);

// displaying the array
print_r($array);
?>
로그인 후 복사

출력은 다음과 같습니다.

Array
(
    [foo] => bar
    [property] => 1
)
로그인 후 복사
로그인 후 복사

보시다시피 $obj 객체를 get_object_vars() 함수에 전달하고 그 결과를 $array 배열에 저장합니다. 이 예에서 함수는 유형 캐스팅 예에 사용된 것과 동일한 결과를 반환합니다.

  1. serialize() 및 unserialize() 함수를 사용하여 변환

셋째, 개체가 더 복잡하거나 여러 개체를 배열로 병합하려는 경우 serialize() 및 unserialize()를 사용할 수 있습니다. 쉽게 달성할 수 있는 기능을 제공합니다. 직렬화 함수 serialize()는 객체를 문자열로 직렬화할 수 있고, unserialize() 함수는 문자열을 객체로 역직렬화할 수 있습니다.

이 접근 방식을 사용할 때 객체를 문자열로 변환하고 배열에 저장할 수 있도록 먼저 객체를 직렬화해야 합니다. 예:

<?php
// a sample object
$obj1 = (object) ['foo' => 'bar', 'property' => 1];
$obj2 = (object) ['abc' => 'def', 'number' => 100];

// serialize objects to string, and then concatenate two strings into one
$str = serialize($obj1) . serialize($obj2);

// unserialize the concatenated string to array
$array = unserialize($str);

// displaying the array
print_r($array);
?>
로그인 후 복사

출력은 다음과 같습니다.

Array
(
    [foo] => bar
    [property] => 1
    [abc] => def
    [number] => 100
)
로그인 후 복사

보시다시피 이 예에서는 두 개의 개체 $obj1 및 $obj2를 생성하고 이를 문자열로 직렬화했습니다. 다음으로 점 연산자를 사용하여 두 문자열을 연결하고 이 연결된 문자열을 unserialize() 함수에 전달하여 $array 배열로 역직렬화합니다. 이 배열에는 두 개체의 모든 속성과 값이 포함됩니다.

결론

이 기사에서는 PHP에서 반환된 객체를 배열로 변환하는 세 가지 방법, 즉 유형 캐스팅, get_object_vars() 함수를 사용한 변환, serialize() 및 unserialize() 함수를 사용한 변환을 배웠습니다. 이러한 방법의 사용은 특정 요구 사항에 따라 다릅니다. 복잡한 객체를 발견하거나 변환해야 하는 객체가 여러 개 있는 경우 serialize() 및 unserialize() 함수를 사용하는 것이 더 나은 선택일 수 있습니다. 그러나 단순한 객체의 경우 유형 캐스트나 get_object_vars() 함수를 사용하는 것이 더 간단할 수 있습니다.

위 내용은 PHP 반환 객체가 배열로 변환됨의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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