Comment convertir efficacement un objet au format tableau
Dans PHP, vous pouvez rencontrer des situations où un objet doit être converti au format tableau. Cet article examine diverses techniques pour réaliser cette conversion.
Tableaux unidimensionnels
Deux méthodes sont souvent utilisées pour convertir des tableaux unidimensionnels :
-
Casting de type explicite : Le simple fait de convertir l'objet en un tableau à l'aide de (array) préserve toutes les propriétés de l'objet, y compris privées et protégées. membres.
$array = (array) $object;
Copier après la connexion
-
get_object_vars(): Cette fonction récupère un tableau contenant uniquement des propriétés accessibles au public. Dans la portée de l'objet, il inclut toutes les propriétés.
$array = get_object_vars($object);
Copier après la connexion
Tableaux multidimensionnels
La conversion de tableaux multidimensionnels nécessite une approche légèrement différente.
-
Encodage et décodage JSON : Cette méthode est compatible avec PHP 5.2 ou version ultérieure. Le codage JSON convertit l'objet en chaîne JSON, qui est ensuite décodée en un tableau associatif. Cependant, cette approche ne gère pas les membres ou objets privés et protégés contenant des données non codables en JSON.
$array = json_decode(json_encode($object), true);
Copier après la connexion
-
Fonction personnalisée : La fonction suivante, basée sur une version modifiée trouvée ailleurs, fournit une option plus complète :
function objectToArray($object) {
if (is_object($object) || is_array($object)) {
return array_map('objectToArray', (array) $object);
}
return $object;
}
Copier après la connexion
Cette fonction convertit de manière récursive toutes les propriétés de l'objet en un format de tableau, quels que soient les modificateurs d'accès.
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!