function internalObjects(array $array, stdClass &$std) : stdClass
{
    foreach ($array as $key => $value) {
        if (is_array($value)) {
            $std->{$key} = new stdClass();
            internalObjects($value, $std->{$key});
        } else {
            $std->{$key} = $value;
        }
    }
    return $std;
}
function objects(array $array) : stdClass
{
    $object = new stdClass();
    return internalObjects($array, $object);
}