Заполнение свойств объекта массивом?

Я хочу взять массив и использовать значения этого массива для заполнения свойств объекта с помощью имен файлов массива. Вот так:

$a=array('property1' => 1, 'property2' => 2); $o=new Obj(); $o->populate($a); class Obj { function Populate($array) { //?? } } 

После этого у меня теперь есть:

 $o->property1==1 $o->property2==2 

Как мне это сделать?

 foreach ($a as $key => $value) { $o->$key = $value; } 

Однако синтаксис, который вы используете для объявления вашего массива, недействителен. Вам нужно сделать что-то вроде этого:

 $a = array('property1' => 1, 'property2' => 2); 

Если вам не stdClass класс объекта, вы можете просто сделать это (предоставив вам экземпляр stdClass ):

 $o = (Object) $a; 

Гектометр Как насчет того, чтобы что-то вроде

 class Obj { var properties = array(); function Populate($array) { this->properties = $array; } } 

Тогда вы можете сказать:

 $o->properties['property1'] == 1 ...