foreach ($a as $key => $value) {
$o->$key = $value;
}
Однако синтаксис, который вы используете для объявления массива, недопустим. Вам нужно сделать что-то вроде этого:
$a = array('property1' => 1, 'property2' => 2);
Если вас не волнует класс объекта, вы можете просто сделать это (давая вам экземпляр stdClass
):
$o = (Object) $a;