Maison >développement back-end >Problème PHP >Comment convertir des objets en tableaux en PHP
PHP est un langage de programmation orienté objet. Par conséquent, les objets sont très courants en PHP, et la conversion entre objets et tableaux est également une opération fréquemment requise. Dans cet article, nous présenterons la conversion d'objets et de tableaux en PHP, et comment convertir des tableaux d'objets en objets tableau multidimensionnels.
Utilisez la fonction intégrée de PHP pour convertir un objet en tableau Vous pouvez utiliser get_object_vars(), qui convertit les propriétés de l'objet en un tableau associatif.
Par exemple :
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);
Résultat de sortie :
Array ( [make] => Toyota [model] => Camry [color] => black )
Remarque : La fonction get_object_vars() ne peut convertir que les attributs publics (public). Ni les attributs protégés ni privés ne peuvent être convertis.
Utilisez les fonctions intégrées de PHP pour convertir des tableaux en objets. Vous pouvez utiliser (objet), et vous pouvez également utiliser la conversion de type forcée.
Par exemple :
$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
Résultat de sortie :
Toyota
En PHP, un tableau d'objets est un tableau composé d'objets. Si vous souhaitez convertir un tableau d'objets en un objet tableau, nous pouvons utiliser la fonction array_map() prédéfinie de PHP pour y parvenir.
Par exemple :
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);
Résultat de sortie :
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 ) )
En PHP, un objet tableau est un objet composé d'un tableau. Si vous souhaitez convertir un objet tableau en un tableau d'objets, nous pouvons utiliser la fonction array_map() prédéfinie de PHP et effectuer un cast pour y parvenir.
Par exemple :
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);
Résultat de sortie :
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 ) )
En PHP, un objet tableau multidimensionnel fait référence à un tableau d'objets contenant plusieurs objets tableau. Si vous souhaitez convertir un tableau d'objets en un objet tableau multidimensionnel, nous pouvons utiliser la fonction array_map() prédéfinie de PHP et des tableaux associatifs pour y parvenir.
Par exemple :
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);
Résultat de sortie :
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 ) ) )
Dans cet article, nous présentons comment convertir des objets et des tableaux les uns dans les autres en PHP, et comment convertir des tableaux d'objets en objets tableau multidimensionnels. Ces conversions sont des opérations très courantes dans le développement PHP. La maîtrise de ces opérations apportera une grande commodité à notre travail de développement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!