PHP はオブジェクト指向プログラミング言語であるため、PHP ではオブジェクトが非常に一般的であり、オブジェクトと配列間の変換も頻繁に必要な操作です。この記事では、PHP におけるオブジェクトと配列の変換と、オブジェクト配列を多次元配列オブジェクトに変換する方法を紹介します。
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 属性も変換できません。
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
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 ) )
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 ) )
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 サイトの他の関連記事を参照してください。