Maison  >  Article  >  développement back-end  >  Comment convertir un objet stdClass en tableau sans perdre de lignes en PHP ?

Comment convertir un objet stdClass en tableau sans perdre de lignes en PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-16 08:31:02746parcourir

How to Convert a stdClass Object to an Array Without Losing Rows in PHP?

Comment convertir un objet stdClass en tableau en PHP

Convertir un objet stdClass en tableau en PHP peut être une tâche délicate, surtout si l'objet d'origine contient éléments qui sont eux-mêmes des objets. Cette question et cette réponse fournissent une solution complète à ce problème.

Le problème

La question d'origine décrit le problème suivant : l'utilisateur est incapable de convertir un objet stdClass en tableau sans supprimer le rangées. L'utilisateur a essayé plusieurs méthodes, telles que l'utilisation de (array) $booking, json_decode($booking, true) et d'une fonction personnalisée, mais toutes ces méthodes ont abouti à un tableau vide.

La solution

La solution à ce problème réside dans l'utilisation d'une méthode légèrement différente : utiliser json_encode et json_decode ensemble pour convertir l'objet vers et depuis JSON. Cette méthode permet de conserver les lignes de l'objet.

Les étapes

  1. Encoder l'objet stdClass en JSON : Utilisez json_encode($booking) pour convertir le stdClass en une chaîne JSON.
  2. Décoder la chaîne JSON en tant que Tableau associatif : Utilisez json_decode(json_encode($booking), true) pour reconvertir la chaîne JSON en un tableau associatif. Cela convertira l'objet stdClass en tableau, tout en préservant les lignes de l'objet d'origine.

Le Code

$array = json_decode(json_encode($booking), true);

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn