2013-04-26 111 views
0

請考慮下面的代碼:填充對象的屬性

$ob=new MyObject(); 

$ob->name=$_GET['name']; 
$ob->email=$_GET['email']; 
... 
$ob->foo=$_GET['foo']; 

有任何清潔的方式(語言機構)與關聯數組填充一個對象的屬性。 (未使用foreach或類似構建體)?

回答

1

由於this回答狀態,你可以這樣做:

$ob = (Object) $a; 
+0

正如那個ansewer狀態「如果你不關心對象的類...」。我關心對象的類! – PHPst 2013-04-26 09:19:18

0

只的foreach?你可以用其他循環:while,for。 goto怎麼樣?

你也可以使用一些沒有明顯循環的函數。

$object = new MyObject(); 
$array = array('foo' => 1, 'baz' => 2); 

array_walk($array, function ($value, $field)use($object){ 
    $object->$field = $value; 
});