当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP iterator_to_array()用法及代码示例


iterator_to_array()function 是 PHP 中的内置函数,用于将迭代器对象(例如实现 Iterator 或 IteratorAggregate 接口的对象)复制到数组中。迭代器是一个对象,允许您一次循环一组值,而无需了解底层数据结构。

用法:

array iterator_to_array(
Traversable | array $iterator, 
bool $preserve_keys = true
)

Parameters: 该函数接受两个参数,如下所述。

  • $iterator: 这是您要复制到数组中的迭代器。
  • $preserve_keys: 这是一个可选参数。它指定是否使用迭代器键作为数组键。默认情况下该值为 true。 这意味着数组将保留迭代器中的原始键。如果设置为false,数组将使用从 0 开始的数字键重新索引。

返回值: iterator_to_array()函数返回包含迭代器所有值的数组。

程序1:下面的程序演示了iterator_to_array()函数。

PHP


<?php 
  
class SimpleIterator implements Iterator { 
    private $position = 0; 
      
    private $data = array('apple',  
        'banana', 'cherry', 'date'); 
  
    public function rewind() { 
        $this->position = 0; 
    } 
  
    public function current() { 
        return $this->data[$this->position]; 
    } 
  
    public function key() { 
        return $this->position; 
    } 
  
    public function next() { 
        ++$this->position; 
    } 
  
    public function valid() { 
        return isset($this->data[$this->position]); 
    } 
} 
  
$iterator = new SimpleIterator(); 
$array = iterator_to_array($iterator); 
  
print_r($array); 
  
?>
输出
Array
(
    [0] => apple
    [1] => banana
    [2] => cherry
    [3] => date
)

程序2:下面的程序演示了iterator_to_array()函数。

PHP


<?php 
      
// Create an Array 
$data = [100, 200, 300, 400]; 
  
// Create an ArrayIterator with array data 
$iterator = new ArrayIterator($data); 
  
// Convert the iterator to an array 
// without preserving keys 
$array = iterator_to_array($iterator, false); 
  
// Print the resulting array 
print_r($array); 
  
?>

输出

Array
(
[0] => 100
[1] => 200
[2] => 300
[3] => 400
)

参考:https://www.php.net/manual/en/function.iterator-to-array.php



相关用法


注:本文由纯净天空筛选整理自neeraj3304大神的英文原创作品 PHP iterator_to_array() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。