ホームページ >バックエンド開発 >PHPの問題 >PHP でオブジェクトを配列に変換する方法

PHP でオブジェクトを配列に変換する方法

PHPz
PHPzオリジナル
2023-04-18 10:19:05558ブラウズ

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) のみを変換できます。 protected 属性も private 属性も変換できません。

  1. 配列からオブジェクトへ

PHP 組み込み関数を使用して、配列をオブジェクトに変換します。(object) を使用することも、強制的な型変換を使用することもできます。

例:

$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. 配列オブジェクトをオブジェクト配列に変換

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 では、multi -次元配列オブジェクト 複数の配列オブジェクトを含むオブジェクト配列を指します。オブジェクト配列を多次元配列オブジェクトに変換したい場合は、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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。