Pour les tableaux unidimensionnels, vous pouvez utiliser soit le casting, soit les get_object_vars fonction.
Casting :
$array = (array) $object;
get_object_vars :
$array = get_object_vars($object);
Alors que les deux méthodes convertissent un objet en un tableau, ils présentent des différences subtiles. get_object_vars renvoie uniquement les propriétés accessibles au public, à moins qu'elles ne soient appelées dans la portée de l'objet. Cependant, la diffusion préserve tous les membres, y compris les membres privés et protégés.
Pour les tableaux multidimensionnels, vous pouvez utiliser différentes approches.
Encodage et décodage JSON :
Si votre objet peut être encodé en JSON, vous pouvez utiliser PHP Fonctions JSON natives :
$array = json_decode(json_encode($object), true);
Cette méthode n'inclut pas les membres privés et protégés et ne convient pas aux objets contenant des données non codables en JSON.
Fonction récursive :
La fonction suivante convertit de manière récursive un objet en tableau, y compris les membres privés et protégés :
function objectToArray($object) { if(!is_object($object) && !is_array($object)) return $object; return array_map('objectToArray', (array) $object); }
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!