Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menukar objek kepada tatasusunan dalam PHP
PHP ialah bahasa pengaturcaraan berorientasikan objek Oleh itu, objek adalah sangat biasa dalam PHP, dan penukaran antara objek dan tatasusunan juga merupakan operasi yang kerap diperlukan. Dalam artikel ini, kami akan memperkenalkan penukaran objek dan tatasusunan dalam PHP, dan cara menukar tatasusunan objek kepada objek tatasusunan berbilang dimensi.
Gunakan fungsi terbina dalam PHP untuk menukar objek kepada tatasusunan Anda boleh menggunakan get_object_vars(), yang menukar sifat objek kepada tatasusunan bersekutu .
Contohnya:
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);
Hasil keluaran:
Array ( [make] => Toyota [model] => Camry [color] => black )
Nota: Fungsi get_object_vars() hanya boleh menukar atribut awam (awam). Atribut yang dilindungi mahupun peribadi tidak boleh ditukar.
Gunakan fungsi terbina dalam PHP untuk menukar tatasusunan kepada objek Anda boleh menggunakan (objek), dan anda juga boleh menggunakan penukaran jenis paksa.
Contohnya:
$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
Hasil keluaran:
Toyota
Dalam PHP, Tatasusunan objek ialah tatasusunan yang terdiri daripada objek. Jika anda ingin menukar tatasusunan objek kepada objek tatasusunan, kami boleh menggunakan fungsi array_map() pratakrif PHP untuk mencapainya.
Contohnya:
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);
Hasil keluaran:
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 ) )
Dalam PHP, Objek tatasusunan ialah objek yang terdiri daripada tatasusunan. Jika anda ingin menukar objek tatasusunan kepada tatasusunan objek, kami boleh menggunakan fungsi array_map() pratakrif PHP dan hantar untuk mencapainya.
Contohnya:
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);
Hasil keluaran:
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 ) )
dalam PHP, objek tatasusunan berbilang dimensi merujuk kepada tatasusunan objek yang mengandungi pelbagai objek tatasusunan. Jika anda ingin menukar tatasusunan objek kepada objek tatasusunan berbilang dimensi, kami boleh menggunakan fungsi array_map() yang telah ditetapkan PHP dan tatasusunan bersekutu untuk mencapainya.
Contohnya:
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);
Hasil keluaran:
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 ) ) )
Dalam artikel ini, kami memperkenalkan cara menukar objek dan tatasusunan kepada satu sama lain dalam PHP dan Bagaimana untuk menukar tatasusunan objek menjadi objek tatasusunan multidimensi. Penukaran ini adalah operasi yang sangat biasa dalam pembangunan PHP Dengan mahir dalam operasi ini akan membawa kemudahan yang besar kepada kerja pembangunan kami.
Atas ialah kandungan terperinci Bagaimana untuk menukar objek kepada tatasusunan dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!