배열 형태로 접근하고 싶은 PHP 객체에 대해서는 get_object_vars() 함수를 사용해야 합니다. 먼저 이 기능을 소개하겠습니다.
공식 문서에서는 다음과 같이 설명합니다.
array get_object_vars ( object $obj )
obj가 지정한 개체에 정의된 속성으로 구성된 연관 배열을 반환합니다.
예:
<?php class Point2D { var $x, $y; var $label; function Point2D($x, $y) { $this->x = $x; $this->y = $y; } function setLabel($label) { $this->label = $label; } function getPoint() { return array("x" => $this->x, "y" => $this->y, "label" => $this->label); } } // "$label" is declared but not defined $p1 = new Point2D(1.233, 3.445); print_r(get_object_vars($p1)); $p1->setLabel("point #1"); print_r(get_object_vars($p1)); ?>
출력:
Array ( [x] => 1.233 [y] => 3.445 [label] => ) Array ( [x] => 1.233 [y] => 3.445 [label] => point #1 )
객체를 배열로 변환하는 구체적인 구현:
function objectToArray($obj) { //首先判断是否是对象 $arr = is_object($obj) ? get_object_vars($obj) : $obj; if(is_array($arr)) { //这里相当于递归了一下,如果子元素还是对象的话继续向下转换 return array_map(__FUNCTION__, $arr); }else { return $arr; } }
배열을 객체로 변환하는 구체적인 구현:
function arrayToObject($arr) { if(is_array($arr)) { return (object)array_map(__FUNCTION__, $arr); }else { return $arr; } }
더 많은 관련 콘텐츠를 보시려면, PH P Chinese Net을 방문하세요: PHP 비디오 튜토리얼
위 내용은 PHP 객체를 배열 함수로의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!