PHP中的iterator_to_array函数是什么?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP中的iterator_to_array函数是什么?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1689字,纯文字阅读大概需要3分钟。
内容图文
![PHP中的iterator_to_array函数是什么?](/upload/InfoBanner/zyjiaocheng/810/6061f46af5b148b9b200596dfc237c77.jpg)
我很难理解PHP的iterator_to_array函数.
我试过阅读手册,但没有帮助.
它是什么?我怎么用呢?适当的用例是什么?
解决方法:
简而言之,iterator_to_array()函数接受Traversable类型的迭代器,并将其转换为关联/非关联数组,具体取决于提供的参数.从the documentation,
array iterator_to_array ( Traversable $iterator [, bool $use_keys = true ] )
该函数采用以下两个参数,
>第一个参数是Traversal类型,它是一个接口. IteratorAggregate和Iterator类都扩展了这个接口.您可以在自定义类中实现这两个类,如下所示:
class myIterator implements IteratorAggregate {
private $array = array('key1'=>'value1', 'value2', 'value3', 'value4');
public function getIterator(){
return new ArrayIterator($this->array);
}
}
$obj = new myIterator;
$array = iterator_to_array($obj->getIterator(), true);
var_dump($array);
要么,
class myIterator implements Iterator {
private $key;
private $array = array('key1'=>'value1', 'value2', 'value3', 'value4');
public function __construct(){
$this->key = key($this->array);
}
public function rewind(){
reset($this->array);
$this->key = key($this->array);
}
public function current(){
return $this->array[$this->key];
}
public function key(){
return $this->key;
}
public function next(){
next($this->array);
$this->key = key($this->array);
}
public function valid(){
return isset($this->array[$this->key]);
}
}
$obj = new myIterator;
$array = iterator_to_array($obj, true);
var_dump($array);
这里要注意的最重要的一点是,传递给iterator_to_array()函数的参数1必须实现Traversable接口,因此不能直接将任何其他类型的数组或对象传递给此函数.请参阅以下示例,
$array = array('key1'=>'value1', 'value2', 'value3', 'value4');
$array = iterator_to_array($array, true); // wrong
>第二个参数是一个布尔值,用于指示是否使用迭代器元素键作为索引.见Example #1 here.
内容总结
以上是互联网集市为您收集整理的PHP中的iterator_to_array函数是什么?全部内容,希望文章能够帮你解决PHP中的iterator_to_array函数是什么?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。