PHP stdClass to Array and Array to stdClass – stdClass Object - Comment Page: 4

I think every PHP coders have come accross Arrays and stdClass Objects (belongs to PHP Predefined Classes). Sometimes it's very useful convert Objects to Arrays and Arrays to Objects. This is easy if arrays and objects are one-dimensional, but might be little tricky if using multidimensional arrays and objects. This post defines two ultra simple recursive function to convert multidimensional Objects to Arrays and multidimensional Arrays to Objects. [inttf_post_ad1] Function to Convert stdClass Objects to Multidimensional Arrays <?php function objectToArray($d) { if (is_object($d)) { // Gets the properties of the given object ...

60 comments on “PHP stdClass to Array and Array to stdClass – stdClass Object - Comment Page: 4

1 2 3 4
    1. Your post is very helpful, Thank’s! Could you please change a website’s font. I have broken my eyes

      Reply
      • hey dear,

        sorry but you can use casting in php it’s easier
        $object = (object) $array;
        // now $object has array elements as object;

        $array = (array) $object;
        // now $array has everything in $object as an array

        and thanks for listening :D

        Reply
        • Hi Alaa M. Jaddou,

          Try following:

          
          php -r '$object = (object) array("test" => array("testing" => array("moretesting"))); var_dump($object);'
          

          And

          
          php -r '$obj->foo->bar->fooz = "Testing"; $array = (array) $obj; var_dump($array);'
          

          Then you can see that casting is not working!? Just tried it on PHP 7.0.6.

          Reply
    2. A simpler way to do this would be:

      $myArray = json_decode( json_encode($myObject), true);

      The second argument for json_decode tells json_decode to use arrays. This has the added benefit of allowing for arrays in the objects.

      Reply
    3. Thanks for sharing this article. It’s works for me and resolved my problem.

      Thanks

      Reply
1 2 3 4

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Close