PHP stdClass to Array and Array to stdClass – stdClass Object

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.

Function to Convert stdClass Objects to Multidimensional Arrays

Function to Convert Multidimensional Arrays to stdClass Objects

Function usage

Test output:

Share this post


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

    • 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

      • Hi Alaa M. Jaddou,

        Try following:


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

  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.


Submit a Comment

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