json_encode/json_decode - returns stdClass instead of Array in PHP
Observe this little script:
$array = array('stuff' => 'things');
print_r($array);
//prints - Array ( [stuff] => things )
$arrayEncoded = json_encode($array);
echo $arrayEncoded . "<br />";
//prints - {"stuff":"things"}
$arrayDecoded = json_decode($arrayEncoded);
print_r($arrayDecoded);
//prints - stdClass Object ( [stuff] => things )
Why does PHP turn the JSON Object into a class?
Shouldn't an array that is json_encoded
then json_decoded
yield the EXACT same result?
Take a closer look at the second parameter of json_decode($json, $assoc, $depth)
at https://secure.php.net/json_decode
$arrayDecoded = json_decode($arrayEncoded, true);
gives you an array.