考虑以下代码:
$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;
});