PHP에서는 객체와 배열 간 변환이 필요한 경우가 많습니다. 어떤 경우에는 객체의 속성과 메서드를 보다 편리하게 조작할 수 있도록 객체를 배열 객체로 변환해야 할 수도 있습니다. 이 글에서는 PHP에 내장된 몇 가지 함수를 사용하여 객체를 배열 객체로 변환하는 방법을 설명합니다.
1. Typecast를 사용하여 객체 변환
PHP의 Typecast(유형 변환)는 한 데이터 유형을 다른 데이터 유형으로 변환하는 방법입니다. 따라서 typecast를 사용하여 객체를 배열 객체로 변환할 수 있습니다. 다음 예에서는 이름, 나이 및 성별 속성을 사용하여 개체를 정의한 다음 개체를 배열 개체로 변환합니다.
class Person { public $name; public $age; public $gender; } $person = new Person(); $person->name = '张三'; $person->age = 18; $person->gender = '男'; $array = (array) $person; print_r($array);
출력:
Array ( [name] => 张三 [age] => 18 [gender] => 男 )
위 예에서는 $person Cast 개체를 $ 배열 개체로 변환합니다. (배열)을 사용하여 배열합니다. 배열 객체를 인쇄하면 $array에 $person의 속성과 값이 성공적으로 포함되어 있음을 알 수 있습니다.
객체에서 변환된 배열 객체에서 속성의 이름은 객체 속성의 이름이고, 속성의 값은 객체 속성의 값이라는 점을 참고하세요. 그러나 이 메서드는 객체의 전용 속성을 배열 객체 속성으로 변환할 수 없습니다. 전용 속성을 배열 객체 속성으로 변환해야 하는 경우 다른 변환 방법을 사용하세요.
2. get_object_vars() 함수를 사용하세요
PHP의 get_object_vars() 함수는 객체의 모든 속성과 속성값을 얻고 속성 이름과 속성값으로 구성된 연관 배열을 반환하는 데 사용할 수 있습니다. 이 함수의 반환 배열을 객체의 배열 객체로 표현할 수 있습니다. 다음은 get_object_vars() 함수를 사용하여 객체를 배열 객체로 변환하는 예입니다.
class Person { public $name; public $age; private $gender; } $person = new Person(); $person->name = '张三'; $person->age = 18; $person->gender = '男'; $array = get_object_vars($person); print_r($array);
출력 결과:
Array ( [name] => 张三 [age] => 18 )
위 예에서는 $name 및 $ 공용 속성을 갖는 $person 객체를 정의합니다. age 및 개인 속성 $gender. 그런 다음 get_object_vars() 함수를 사용하여 이 객체를 배열 객체 $array로 변환합니다. get_object_vars() 함수는 비공개 속성 $gender를 제외하고 객체의 공개 속성과 값만 반환한다는 점에 유의하세요.
3. json_decode() 함수를 사용하세요.
PHP의 json_decode() 함수는 JSON 형식 문자열을 PHP 변수나 개체로 변환하는 데 사용할 수 있습니다. 객체를 변환할 때 json_decode() 함수는 typecast를 사용하여 배열 객체로 변환할 수 있는 stdClass 객체를 반환합니다. 다음은 json_decode() 함수를 사용하여 객체를 배열 객체로 변환하는 예입니다.
class Person { public $name; public $age; private $gender; } $person = new Person(); $person->name = '张三'; $person->age = 18; $person->gender = '男'; $jsonStr = json_encode($person); $array = (array) json_decode($jsonStr); print_r($array);
출력 결과:
Array ( [name] => 张三 [age] => 18 [gender] => 男 )
위 예에서는 먼저 json_encode(를 통해 $person 객체를 JSON 문자열로 변환합니다. ) 함수 $jsonStr을 생성한 다음 json_decode() 함수를 통해 stdClass 객체로 변환합니다. 마지막으로 typecast를 사용하여 stdClass 객체를 배열 객체 $array로 변환합니다. 이 방법을 사용하면 객체의 전용 속성을 배열 객체 속성으로 변환할 수도 있습니다.
결론
PHP에는 객체를 배열 객체로 변환하는 여러 가지 메서드가 제공됩니다. 실제 필요에 따라 적절한 방법을 선택할 수 있습니다. typecast 메서드를 사용하는 경우 객체를 배열 객체로 캐스팅해야 하지만 프라이빗 속성을 배열 객체 속성으로 변환할 수는 없습니다. get_object_vars() 함수를 사용하면 객체의 public 속성과 값만 얻을 수 있습니다. json_decode() 함수를 사용하면 객체의 공개 속성과 비공개 속성을 모두 배열 객체 속성으로 변환할 수 있습니다.
위 내용은 PHP에서 객체를 배열 객체로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!