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

PHP에서 객체를 배열로 변환

WBOY
WBOY앞으로
2023-09-09 17:53:081000검색

PHP에서 객체를 배열로 변환

PHP 애플리케이션에서 우리는 문자열, 배열, 객체 등과 같은 다양한 형식의 데이터를 다루고 있습니다. 실시간 애플리케이션에서는 원하는 출력을 얻기 위해 연관 형식으로 PHP 객체 결과 배열을 읽어야 할 수도 있습니다.

그래서 여기서는 PHP 객체를 PHP에서 연관 배열로 변환하는 방법에 대해 설명하겠습니다.

PHP에서 객체와 연관배열이 무엇인지 설명해 보겠습니다. 객체는 클래스의 인스턴스입니다. 즉, 클래스에서 많은 객체를 만들 수 있습니다. 이는 메모리가 할당된 클래스의 샘플일 뿐입니다. 반면, 문자열을 인덱스로 구성한 배열을 연관배열(associative array)이라고 합니다. 여기에는 값이 해당 키와 연결되는 키-값 쌍이 포함되어 있습니다.

이제 객체를 배열로 변환하는 다양한 방법에 대해 논의해 보겠습니다.

방법 1:

json_decode 및 json_encode 기술 사용:

처음에 json_encode() 함수는 주어진 값의 JSON 인코딩 문자열을 반환합니다. json_decode() 함수는 이를 PHP 배열로 변환합니다.

예:

<?php
   class student {
      public function __construct($firstname, $lastname) {
         $this->firstname = $firstname;
         $this->lastname = $lastname;
      }
   }
   $myObj = new student("Alex", "Stokes");
   echo "Before conversion:".&#39;</br>&#39;;
   var_dump($myObj);
   $myArray = json_decode(json_encode($myObj), true);
   echo "After conversion:".&#39;</br>&#39;;
   var_dump($myArray);
?>

출력:

Before conversion:
object(student)#1 (2) { ["firstname"]=> string(4) "Alex" ["lastname"]=> string(6) "Stokes" }
After conversion:
array(2) { ["firstname"]=> string(4) "Alex" ["lastname"]=> string(6) "Stokes" }

설명:

여기서 Student 클래스를 만들고 객체가 생성될 때 실행되는 클래스에 __construct() 함수를 선언했습니다. 생성자는 나중에 new 키워드를 사용하여 객체를 생성할 때 제공되는 매개변수를 받습니다. 첫 번째 var_dump() 표현식에서는 객체를 인쇄하지만 두 번째 경우에는 json_decode 및 json_encode 기술을 사용하여 객체를 배열로 변환합니다.

방법 2:

유형 변환 기술을 사용하여 객체를 배열로 변환:

유형 변환은 하나의 데이터 유형 변수를 다른 데이터 유형으로 활용하는 방법으로, 데이터 유형을 정확하게 변환하는 것입니다.

<?php
   class bag {
      public function __construct( $item1, $item2, $item3){
         $this->item1 = $item1;
         $this->item2 =$item2;
         $this->item3 = $item3;
      }
   }
   $myBag = new bag("Books", "Ball", "Pens");
   echo "Before conversion :".&#39;</br>&#39;;
   var_dump($myBag);
   $myBagArray = (array)$myBag;
   echo "After conversion :".&#39;</br>&#39;;
   var_dump($myBagArray);
?>

출력:

Before conversion :
object(bag)#1 (3) { ["item1"]=> string(5) "Books" ["item2"]=> string(4) "Ball" ["item3"]=> string(4) "Pens" }
After conversion:
array(3) { ["item1"]=> string(5) "Books" ["item2"]=> string(4) "Ball" ["item3"]=> string(4) "Pens" }

설명:

여기서 "bag"이라는 클래스를 만들었고 이 클래스 안에 객체가 생성될 때 실행되는 __construct() 함수를 선언했습니다. 생성자는 new 키워드를 사용하여 객체를 생성할 때 제공되는 매개변수를 받습니다. 첫 번째 var_dump() 표현식에서는 객체를 인쇄하지만 두 번째 경우에는 유형 힌트 프로시저를 사용하여 객체를 배열로 캐스팅합니다.

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

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제