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中,多維數組對象是指包含多個數組物件的物件數組。如果要將物件陣列轉換為多維數組對象,我們可以使用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中文網其他相關文章!