>  기사  >  백엔드 개발  >  PHP에서 객체를 배열로 변환하는 방법

PHP에서 객체를 배열로 변환하는 방법

PHPz
PHPz원래의
2023-04-26 14:26:062002검색

PHP는 강력한 객체 지향 기능을 갖춘 매우 유용한 프로그래밍 언어입니다. PHP에서는 객체를 배열로 쉽게 변환할 수 있습니다. 이 기사에서는 PHP에서 객체를 배열로 변환하는 다양한 방법을 소개합니다.

1. get_object_vars() 함수를 사용하세요.

get_object_vars()는 객체의 모든 속성과 값을 가져와 배열을 반환하는 데 사용되는 PHP 내장 함수입니다. 이 함수의 구문 형식은 다음과 같습니다.

array get_object_vars ( object $object )

여기서 $object는 변환할 개체를 나타냅니다.

다음 샘플 코드는 객체를 배열로 변환하는 방법을 보여줍니다.

class MyClass {
   public $name = '张三';
   protected $age = 18;
   private $sex = '男';
}

$myObj = new MyClass();

$arr = get_object_vars($myObj);

print_r($arr);

여기서 $myObj 객체는 MyClass 클래스를 통해 생성되고, get_object_vars() 함수를 사용하여 이를 $arr 배열로 변환하고, 마지막으로 출력이 콘솔 배열로 출력됩니다.

결과는 다음과 같습니다.

Array
(
    [name] => 张三
)

$age 속성과 $sex 속성의 접근 권한이 다르기 때문에 $name만 배열로 변환되는 것을 볼 수 있습니다.

2. 유형 캐스팅(유형 변환) 사용

내장 함수를 사용하는 것 외에도 PHP의 유형 변환 구문을 사용하여 객체를 배열로 변환할 수도 있습니다. 유형 변환 구문에는 (배열), (문자열), (int) 등과 같이 변환할 데이터 유형의 이름을 변수 앞에 추가하는 작업이 포함됩니다.

다음 예제 코드에서는 (array)를 사용하여 객체를 배열로 변환합니다.

class MyClass {
   public $name = '张三';
   protected $age = 18;
   private $sex = '男';
}

$myObj = new MyClass();
$arr = (array) $myObj;
print_r($arr);

이전 예제와의 차이점은 $myObj 객체를 배열로 변환할 때 (array) 유형을 사용한다는 것입니다. 변환 구문 .

위 코드를 실행하면 이전에 표시된 배열과 동일한 출력이 제공됩니다.

3. json_decode() 함수 사용

get_object_vars() 및 유형 캐스팅 외에도 json_decode() 함수를 사용하여 객체를 배열 또는 연관 배열로 변환할 수 있습니다.

json_decode() 함수는 JSON 문자열을 PHP 배열 또는 연관 배열로 변환할 수 있으므로 객체를 JSON 문자열로 직렬화한 다음 json_decode() 함수를 사용하여 역직렬화하면 객체를 배열 또는 연관 배열로 변환할 수 있습니다.

다음 샘플 코드는 이 프로세스를 보여줍니다.

class MyClass {
   public $name = '张三';
   protected $age = 18;
   private $sex = '男';
}

$myObj = new MyClass();

$jsonString = json_encode($myObj);

$arr = json_decode($jsonString, true);

print_r($arr);

여기에서는 MyClass 클래스를 통해 $myObj 개체를 생성하고 json_encode() 함수를 사용하여 이를 JSON 문자열 $jsonString으로 직렬화합니다. 다음으로 json_decode() 함수를 사용하여 문자열을 연관 배열 $arr로 디코딩합니다.

json_decode() 함수에서 두 번째 매개변수는 true로 설정됩니다. 이는 디코딩 후 객체 대신 연관 배열이 반환된다는 의미입니다. 이 매개변수를 설정하지 않으면 배열 대신 객체가 반환됩니다.

코드를 실행하면 이전 예제와 동일한 출력을 얻게 됩니다.

요약

PHP에서는 다양한 방법으로 객체를 배열로 변환할 수 있습니다. get_object_vars() 함수는 객체의 모든 속성과 그 값을 편리하게 배열로 변환할 수 있고, 타입 캐스팅과 json_decode() 함수는 객체를 문자열로 직렬화한 후 변환 함수를 통해 배열로 변환할 수 있습니다. 어떤 방법을 사용하든 현재 시나리오에 적합한 방법을 선택하면 비즈니스 요구 사항을 더 잘 충족하기 위해 개체를 배열로 쉽게 변환할 수 있습니다.

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

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