stdobj to array php

时间:2021-06-29 07:30:26

The lazy one-liner method

You can do this in a one liner using the JSON methods if you're willing to lose a tiny bit of performance (though some have reported it being faster than iterating through the objects recursively - most likely because PHP is slow at calling functions). "But I already did this" you say. Not exactly - you used json_decode on the array, but you need to encode it with json_encode first.

Requirements

The json_encode and json_decode methods. These are automatically bundled in PHP 5.2.0 and up. If you use any older version there's also a PECL library (that said, in that case you should really update your PHP installation. Support for 5.1 stopped in 2006.)


Converting an array/stdClass -> stdClass

$stdClass = json_decode(json_encode($booking));

Converting an array/stdClass -> array

The manual specifies this second parameter of json_decode as:

assoc
When TRUE, returned objects will be converted into associative arrays.

Hence it will convert the entire thing into an array:

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

Source page:http://*.com/questions/18576762/php-stdclass-to-array