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

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

PHPz
PHPz원래의
2023-04-18 10:19:05568검색

PHP는 객체 지향 프로그래밍 언어이므로 PHP에서는 객체가 매우 일반적이며 객체와 배열 간의 변환도 자주 필요한 작업입니다. 이 글에서는 PHP에서 객체와 배열을 변환하는 방법과 객체 배열을 다차원 배열 객체로 변환하는 방법을 소개합니다.

  1. 객체를 배열로

PHP의 내장 함수를 사용하여 객체를 배열로 변환합니다. 객체 속성을 연관 배열로 변환하는 get_object_vars()를 사용할 수 있습니다.

예:

class car {
   public $make = 'Toyota';
   public $model = 'Camry';
   public $color = 'black';
   protected $year = 2018;
}

$obj = new car;
$arr = get_object_vars($obj);
print_r($arr);

출력 결과:

Array
(
    [make] => Toyota
    [model] => Camry
    [color] => black
)

참고: get_object_vars() 함수는 공개 속성(public)만 변환할 수 있습니다. 보호 속성과 개인 속성은 모두 변환할 수 없습니다.

  1. Array to object

PHP 내장 함수를 사용하여 배열을 객체로 변환할 수 있으며, 강제 유형 변환도 사용할 수 있습니다.

예:

$arr = array('make' => 'Toyota', 'model' => 'Camry', 'color' => 'black');
$obj = (object) $arr;

// Alternatively, you can use type casting
// $obj = (object) array('make' => 'Toyota', 'model' => 'Camry', 'color' => 'black');

echo $obj->make; // Toyota

출력 결과:

Toyota
  1. 객체 배열을 객체 배열로

PHP에서 객체 배열은 객체로 구성된 배열입니다. 객체 배열을 배열 객체로 변환하려면 PHP의 미리 정의된 array_map() 함수를 사용하면 됩니다.

예:

class car {
   public $make = 'Toyota';
   public $model = 'Camry';
   public $color = 'black';
   protected $year = 2018;
}

$obj1 = new car;
$obj2 = new car;
$obj3 = new car;
$car_array = array($obj1, $obj2, $obj3);

// using array_map() to transform all objects into arrays:
$arr_array = array_map(function($object) {
    return get_object_vars($object);
}, $car_array);

// displaying the resulting array
print_r($arr_array);

출력 결과:

Array
(
    [0] => Array
        (
            [make] => Toyota
            [model] => Camry
            [color] => black
        )

    [1] => Array
        (
            [make] => Toyota
            [model] => Camry
            [color] => black
        )

    [2] => Array
        (
            [make] => Toyota
            [model] => Camry
            [color] => black
        )

)
  1. Array object to object array

PHP에서 배열 개체는 배열로 구성된 개체입니다. 배열 객체를 객체 배열로 변환하려면 PHP의 미리 정의된 array_map() 함수를 사용하고 이를 구현하기 위해 캐스팅할 수 있습니다.

예:

class car {
   public $make = 'Toyota';
   public $model = 'Camry';
   public $color = 'black';
   protected $year = 2018;
}

$arr1 = array('make' => 'Toyota', 'model' => 'Camry', 'color' => 'black');
$arr2 = array('make' => 'Honda', 'model' => 'Civic', 'color' => 'white');
$arr3 = array('make' => 'Chevrolet', 'model' => 'Malibu', 'color' => 'silver');
$car_array = array($arr1, $arr2, $arr3);

$obj_array = array_map(function($array) {
    return (object) $array;
}, $car_array);

// displaying the resulting array
print_r($obj_array);

출력 결과:

Array
(
    [0] => stdClass Object
        (
            [make] => Toyota
            [model] => Camry
            [color] => black
        )

    [1] => stdClass Object
        (
            [make] => Honda
            [model] => Civic
            [color] => white
        )

    [2] => stdClass Object
        (
            [make] => Chevrolet
            [model] => Malibu
            [color] => silver
        )

)
  1. 객체 배열을 다차원 배열 객체로

PHP에서 다차원 배열 객체는 여러 배열 객체를 포함하는 객체 배열을 의미합니다. 객체 배열을 다차원 배열 객체로 변환하려면 PHP의 미리 정의된 array_map() 함수와 연관 배열을 사용하여 이를 달성할 수 있습니다.

예:

class car {
   public $make = 'Toyota';
   public $model = 'Camry';
   public $color = 'black';
   protected $year = 2018;
}

$obj1 = new car;
$obj2 = new car;
$obj3 = new car;
$car_array = array($obj1, $obj2, $obj3);

$arr_array = array_map(function($object) {
    return get_object_vars($object);
}, $car_array);

// combining the resulting arrays into a multidimensional array
$final_array = array('cars' => $arr_array);

// displaying the final multidimensional array
print_r($final_array);

출력 결과:

Array
(
    [cars] => Array
        (
            [0] => Array
                (
                    [make] => Toyota
                    [model] => Camry
                    [color] => black
                )

            [1] => Array
                (
                    [make] => Toyota
                    [model] => Camry
                    [color] => black
                )

            [2] => Array
                (
                    [make] => Toyota
                    [model] => Camry
                    [color] => black
                )

        )

)

이 글에서는 PHP에서 객체와 배열을 서로 변환하는 방법과 객체 배열을 다차원 배열 객체로 변환하는 방법을 소개합니다. 이러한 변환은 PHP 개발에서 매우 일반적인 작업입니다. 이러한 작업에 능숙하면 개발 작업이 매우 편리해집니다.

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

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