筛选迭代器{}

在本文中

需要筛选值的数组的迭代器

方法

姓名描述
FilteredIterator::__construct创建新迭代器
FilteredIterator::__unserialize——
FilteredIterator::__wakeup执行重新初始化任务。
FilteredIterator::当前——
FilteredIterator::unserialize——

来源

最终类FilteredIterator扩展了ArrayIterator{/***回调以作为筛选器运行**@var可调用*/私有$callback;/***创建新迭代器**@param array$data要迭代的数组或对象。*@param callable$callback对每个值调用回调**@throws\WpOrg\Requests\Exception\InvalidArgument当传递的$data参数不可迭代时。*/公共函数__construct($data,$callback){if(InputValidator::is_iterable($data)===false){throw InvalidArgument::create(1,'$data','iterable',gettype($data));}父级::__construct($data);if(is_callable($callback)){$this->callback=$callback;}}/***出于安全原因,防止对象的非序列化。**@phpcs:禁用PHPCompatibility。FunctionName限制。新魔法方法__取消序列化已找到**@param array$data恢复了最初序列化的数据数组。**@返回void*/#[返回类型更改]公共函数__unserialize($data){}//phpcs:启用/***执行重新初始化任务。**防止在对象取消序列化期间注入回调。**@返回void*/公共函数__wakeup(){取消设置($this->callback);}/***筛选后获取当前项的值**@return字符串*/#[返回类型更改]公共函数current(){$value=父项::current();if(is_callable($this->回调)){$value=call_user_func($this->回调,$value);}返回$value;}/***出于安全原因,防止从对象的存储表示创建PHP值。**@param string$data序列化字符串。**@返回void*/#[返回类型更改]公共函数取消序列化($data){}}

用户贡献的笔记

你必须登录在能够发表注释或反馈之前。