填充对象的属性


Populating an object's properties

考虑以下代码:

$ob=new MyObject();
$ob->name=$_GET['name'];
$ob->email=$_GET['email'];
...
$ob->foo=$_GET['foo'];

是否有更简洁的方法(语言机制)来用关联数组填充对象的属性?(而不使用foreach或类似结构)?

如答案所述,您可以这样做:

$ob = (Object) $a;

仅限foreach?你还可以循环:while, for。那goto呢?

也可以使用一些没有明显循环的函数。

$object = new MyObject();
$array = array('foo' => 1, 'baz' => 2);
array_walk($array, function ($value, $field)use($object){
    $object->$field = $value;
});