I had this question earlier and it was concluded it was a bug in 5.2.5. Well, it’s still broken in 5.2.6, at least for me:
Please let me know if it is broken or works for you:
$obj = new stdClass(); $obj->{'foo'} = 'bar'; $obj->{'0'} = 'zero'; $arr = (array)$obj; //foo -- bar //0 -- {error: undefined index} foreach ($arr as $key=>$value){ echo '$key -- ' . $arr[$key] . '\n'; }
Any ways to ‘fix’ the array after it has been cast from a stdClass?
Definitely seems like a bug to me (PHP 5.2.6).
You can fix the array like this:
It’s been reported in this bug report but marked as bogus… the documentation says: