Sea*_*ess 4 php foreach proxy serialization
我需要序列化一个代理类.该类使用__set和__get在数组中存储值.我希望序列化看起来像是一个扁平的对象.换句话说,我的班级看起来像:
class Proxy
{
public $data = array();
public function __get($name)
{
return $data[$name]
}
}
Run Code Online (Sandbox Code Playgroud)
我想要一个foreach循环来返回$ data中的所有键和值,当我说:
foreach($myProxy as $key)
Run Code Online (Sandbox Code Playgroud)
这可能吗?
class Proxy implements IteratorAggregate
{
public $data = array();
public function __get($name)
{
return $data[$name];
}
public function getIterator()
{
$o = new ArrayObject($this->data);
return $o->getIterator();
}
}
$p = new Proxy();
$p->data = array(2, 4, 6);
foreach ($p as $v)
{
echo $v;
}
Run Code Online (Sandbox Code Playgroud)
输出是:246.
有关更多详细信息,请参阅PHP文档中的对象迭代.
| 归档时间: |
|
| 查看次数: |
1106 次 |
| 最近记录: |