Maison >développement back-end >tutoriel php >Comment convertir des objets stdClass en tableaux en PHP ?

Comment convertir des objets stdClass en tableaux en PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-27 00:43:08745parcourir

How to Convert stdClass Objects to Arrays in PHP?

Convertir un objet stdClass en tableau en PHP [dupliquer]

Lorsque vous travaillez avec des résultats de base de données en PHP, il est courant de rencontrer des situations où les données sont récupéré en tant qu'objet de la classe stdClass. Bien que la navigation dans les objets puisse être pratique, il est parfois nécessaire de les reconvertir en tableaux.

Considérez le scénario dans lequel nous avons récupéré les identifiants de publication de la base de données comme suit :

$post_id = $wpdb->get_results("SELECT post_id FROM $wpdb->postmeta WHERE (meta_key = 'mfn-post-link1' AND meta_value = '". $from ."')");

Cela renvoie un tableau d'objets stdClass, comme indiqué ci-dessous :

Array
(
    [0] => stdClass Object
        (
            [post_id] => 140
        )

    [1] => stdClass Object
        (
            [post_id] => 141
        )

    [2] => stdClass Object
        (
            [post_id] => 142
        )

)

Pour convertir ce tableau d'objets en un simple tableau d'identifiants de publication, nous pouvons exploiter deux approches :

  1. Encodage et décodage JSON : La méthode la plus rapide consiste à encoder l'objet en JSON, puis à le décoder en un tableau :
$array = json_decode(json_encode($post_id), true);
  1. Traversée manuelle : Alternativement, nous pouvons parcourir l'objet manuellement et extraire la publication ID :
$array = [];
foreach ($post_id as $value) 
    $array[] = $value->post_id;

Les deux méthodes produiront le tableau souhaité :

Array
(
    [0]  => 140


    [1] => 141


    [2] => 142

)

En utilisant ces techniques, vous pouvez convertir de manière transparente des objets stdClass en tableaux, vous permettant de manipuler et traiter vos données selon les besoins.

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