PHP 프로그래밍에서는 객체를 배열로 변환해야 하는 경우가 많습니다. 이러한 요구 사항은 일반적으로 웹 애플리케이션을 작성할 때 데이터베이스나 기타 데이터 소스에서 얻은 데이터가 일반적으로 개체 형식으로 반환되기 때문입니다. 이 데이터를 처리하고 읽기 쉽고 처리하기 쉬운 방식으로 표시하려면 이러한 개체를 배열로 변환해야 합니다.
PHP는 유연성과 사용 용이성으로 유명하므로 객체를 배열로 변환하는 것도 매우 간단합니다. PHP에서는 일부 내장 함수를 사용하여 이 작업을 수행할 수 있으며 타사 라이브러리를 사용하여 변환의 사용자 정의 가능성과 기능을 향상시킬 수도 있습니다.
이 글에서는 PHP가 반환한 객체를 배열로 변환하는 여러 가지 방법을 살펴보겠습니다. 이 방법에서는 PHP 7 구문을 사용합니다. 그러나 이러한 예제 코드의 구문을 이전 버전의 PHP에 쉽게 적용할 수 있습니다.
먼저 가장 간단한 방법인 타입 캐스팅을 사용하는 방법을 소개하겠습니다. 이 방법은 객체를 배열로 변환하는 가장 간단한 방법이자 가장 일반적으로 사용되는 방법입니다.
타입 캐스팅을 사용할 때는 객체를 배열 키워드로 둘러싸기만 하면 됩니다. 예:
<?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() 함수를 사용하여 배열의 내용을 볼 수 있습니다.
두 번째로, 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 배열에 저장합니다. 이 예에서 함수는 유형 캐스팅 예에 사용된 것과 동일한 결과를 반환합니다.
셋째, 개체가 더 복잡하거나 여러 개체를 배열로 병합하려는 경우 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!