Heim >Backend-Entwicklung >PHP-Problem >So konvertieren Sie Objekte in PHP in Arrays
PHP ist eine objektorientierte Programmiersprache, daher sind Objekte in PHP sehr verbreitet, und auch die Konvertierung zwischen Objekten und Arrays ist ein häufig erforderlicher Vorgang. In diesem Artikel stellen wir die Konvertierung von Objekten und Arrays in PHP sowie die Konvertierung von Objektarrays in mehrdimensionale Arrayobjekte vor.
Verwenden Sie die integrierte Funktion von PHP, um ein Objekt in ein Array umzuwandeln. Sie können get_object_vars() verwenden, das Objekteigenschaften in ein assoziatives Array umwandelt.
Zum Beispiel:
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);
Ausgabeergebnis:
Array ( [make] => Toyota [model] => Camry [color] => black )
Hinweis: Die Funktion get_object_vars() kann nur öffentliche Attribute (public) konvertieren. Weder geschützte noch private Attribute können konvertiert werden.
Verwenden Sie die in PHP integrierten Funktionen, um Arrays in Objekte umzuwandeln. Sie können (Objekt) verwenden und auch die erzwungene Typkonvertierung verwenden.
Zum Beispiel:
$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
Ausgabeergebnis:
Toyota
In PHP ist ein Objektarray ein Array, das aus Objekten besteht. Wenn Sie ein Array von Objekten in ein Array-Objekt konvertieren möchten, können wir dazu die vordefinierte Funktion array_map() von PHP verwenden.
Zum Beispiel:
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);
Ausgabeergebnis:
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 ) )
In PHP ist ein Array-Objekt ein Objekt, das aus einem Array besteht. Wenn Sie ein Array-Objekt in ein Array von Objekten konvertieren möchten, können wir die vordefinierte Funktion array_map() von PHP verwenden und umwandeln, um dies zu erreichen.
Zum Beispiel:
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);
Ausgabeergebnis:
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 ) )
In PHP bezieht sich ein mehrdimensionales Array-Objekt auf ein Objekt-Array, das mehrere Array-Objekte enthält. Wenn Sie ein Objekt-Array in ein mehrdimensionales Array-Objekt umwandeln möchten, können wir dazu die vordefinierte Funktion array_map() von PHP und assoziative Arrays verwenden.
Zum Beispiel:
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);
Ausgabeergebnis:
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 ) ) )
In diesem Artikel stellen wir vor, wie man Objekte und Arrays in PHP ineinander umwandelt und wie man Objektarrays in mehrdimensionale Array-Objekte umwandelt. Diese Konvertierungen sind sehr häufige Vorgänge in der PHP-Entwicklung. Wenn wir diese Vorgänge beherrschen, wird unsere Entwicklungsarbeit sehr erleichtert.
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie Objekte in PHP in Arrays. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!