[英]Populating an object's properties
Consider following code: 考虑以下代码:
$ob=new MyObject();
$ob->name=$_GET['name'];
$ob->email=$_GET['email'];
...
$ob->foo=$_GET['foo'];
Is there any cleaner way (language mechanism) to populating an object's property with an associative array. 是否有任何更简洁的方法(语言机制)来用关联数组填充对象的属性。 ( without using foreach
or similar constructs )? ( 不使用foreach
或类似结构 )?
如该答案所述,您可以执行以下操作:
$ob = (Object) $a;
Only foreach? 只有foreach? You can other loop: while, for. 您可以进行其他循环:while,for。 What about goto? 那goto呢?
Also you can use some functions without obvious loop. 您也可以使用某些功能而不会产生明显的循环。
$object = new MyObject();
$array = array('foo' => 1, 'baz' => 2);
array_walk($array, function ($value, $field)use($object){
$object->$field = $value;
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.