0

考虑以下代码:

$ob=new MyObject();

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

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

4

2 回答 2

1

正如this answer所述,您可以执行以下操作:

$ob = (Object) $a;
于 2013-04-26T05:42:19.843 回答
0

只有foreach?你可以使用其他循环:while、for。戈多呢?

您也可以使用一些没有明显循环的功能。

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

array_walk($array, function ($value, $field)use($object){
    $object->$field = $value;
});
于 2013-04-26T08:03:39.663 回答