PHP 객체를 연관 배열로 변환
-
array
키워드를 사용하여StdClass
의 객체를 타입 캐스트하여 PHP에서 연관 배열로 변환 -
사용자 정의 클래스 내에서
StdClass
의 객체를 사용하여 PHP에서 객체를 연관 배열로 변환 -
json_encode()
및json_decode()
함수를 사용하여 PHP에서 객체를 연관 배열로 변환
array
키워드를 사용하여StdClass
의 객체를 형변환하는 연관 배열로 PHP 객체를 변환하는 방법을 소개합니다. var_dump()
함수를 사용하여 연관 배열을 표시합니다.
두 번째 접근 방식은 사용자 정의 클래스의 생성자에서StdClass
를 생성하는 연관 배열로 PHP 객체를 변환하는 또 다른 방법을 보여줍니다. array
키워드를 사용하는 첫 번째 방법에서와 같이 객체를 연관 배열로 변환합니다. 이 방법은 객체 지향 접근 방식을 따릅니다.
또한json_encode()
및json_decode()
함수를 사용하여 PHP에서 객체를 연관 배열로 변환하는 또 다른 방법을 소개합니다. StdClass
를 사용하여 객체와 동적 속성을 생성합니다.
array
키워드를 사용하여StdClass
의 객체를 타입 캐스트하여 PHP에서 연관 배열로 변환
StdClass
빈 클래스를 생성하여 PHP에서 객체를 생성하고 객체를 사용하여 속성을 생성 할 수 있습니다. 클래스의 개체는 속성에 직접 액세스 할 수 있습니다. 클래스에 대한 동적 속성을 만들 수도 있습니다. array
객체를 사용하여 객체를 배열로 형변환 할 수 있습니다. var_dump()
함수는 배열의 유형 및 값에 대한 정보를 덤프합니다.
예를 들어new
연산자를 사용하여StdClass
의$object
개체를 만듭니다. car1
및car2
라는$object
를 사용하여 두 개의 속성을 만듭니다. porsche
및bugatti
값으로 특성을 지정하십시오. array
키워드를 사용하여$object
변수를 타입 캐스트합니다. $object
변수 앞에array
키워드를 괄호로 묶고var_dump()
함수를 사용하여 값을 덤프합니다. 아래 예제는 출력 섹션에 표시된 것처럼 객체를 연관 배열로 변환합니다. 배열의 각 요소에 대한 키 및 값 쌍을 표시합니다.
예제 코드 :
#php 7.x
<?php
$object = new StdClass;
$object->car1 = "porsche";
$object->car2 = "bugatti";
var_dump( (array) $object );
?>
출력:
array(2) { ["car1"]=> string(7) "porsche" ["car2"]=> string(7) "bugatti" }
사용자 정의 클래스 내에서StdClass
의 객체를 사용하여 PHP에서 객체를 연관 배열로 변환
클래스 생성자에서StdClass
의 인스턴스를 생성하고array
키워드를 사용하여 클래스의 객체를 연관 배열로 변환 할 수 있습니다. 클래스를 만들고 그 속성을 정의 할 수 있습니다. 클래스의 생성자는 클래스의 속성을 특정 값으로 초기화합니다. StdClass
의 객체를 생성하고 클래스의 속성 중 하나로 할당 할 수 있습니다. new
연산자는 클래스와 함께 생성자를 호출합니다. 호출 직전에array
키워드를 사용하여 클래스의 객체를 연관 배열로 변환 할 수 있습니다.
예를 들어Motorcycle
클래스를 생성합니다. private
액세스 수정자를$name
,$color
및$type
으로 사용하여 세 개의 클래스 속성을 만듭니다. 클래스의 생성자를 만들고 생성자 내부에서 속성 값을 초기화합니다. name
에는Husky
를,color
에는white
를 쓰고type
에는StdClass
의 개체를 만듭니다. $this
키워드를 사용하여 속성을 초기화합니다. 클래스 외부에서Motorcycle
클래스를 호출하고array
키워드를 사용하여 호출하기 전에 형변환합니다. var_dump()
함수를 사용하여 형변환 된 배열에 대한 정보를 덤프합니다.
예제 코드 :
#php 7.x
class Motorcycle{
private $name;
private $color;
private $type;
public function __construct(){
$this->name = "Husky";
$this->color = "white";
$this->type = new StdClass;
}
}
var_dump( (array) new Motorcycle );
출력:
array(3) { ["Motorcyclename"]=> string(5) "Husky" ["Motorcyclecolor"]=> string(5) "white" ["Motorcycletype"]=> object(stdClass)#2 (0) { } }
json_encode()
및json_decode()
함수를 사용하여 PHP에서 객체를 연관 배열로 변환
json_encode()
함수는 값을 JSON 객체로 인코딩하고json_decode()
함수는 JSON 객체를 PHP 객체로 변환합니다. json_decode()
함수의 두 번째 매개 변수 인 부울 값은 JSON 오브젝트가 변환되어야하는 것을 나타냅니다. true
값은 JSON 객체를 연관 배열로 변환하고false
값은 PHP 객체로 변환합니다.
예를 들어,StdClass
의 개체를 만들고$object
변수에 할당합니다. 객체 속성의 두 값을Mustang
및Manang
으로 이름을 지정하고place1
및place2
변수에 저장합니다. $object
변수에json_encode()
함수를 사용하고 값을$json
변수에 저장합니다. 그런 다음$json
변수에서json_decode()
함수를 사용하고 부울 값true
를 두 번째 매개 변수로 사용합니다. $array
변수에 값을 저장합니다. var_dump()
함수를 사용하여 변수를 덤프합니다.
아래 예에서$object
변수는StdClass
객체를 보유합니다. json_ecode()
함수는 객체를 JSON 문자열로 변환합니다. json_decode()
함수는 JSON 문자열을 연관 배열로 변환합니다.
예제 코드 :
#php 7.x
<?php
$object = new StdClass;
$object->place1 = "Mustang";
$object->place2 = "Manang";
$json= json_encode($object);
$array = json_decode($json, true);
var_dump($array);
?>
출력:
array(2) { ["place1"]=> string(7) "Mustang" ["place2"]=> string(6) "Manang" }
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedIn