手册

目录

Iterable

收藏842

阅读2649

更新时间2025-08-06

PHP - 什么是 Iterable?

Iterable 是指任何可以使用 foreach() 循环遍历的值。

Iterable 伪类型在 PHP 7.1 中引入,它可以作为函数参数和函数返回值的数据类型。

PHP - 使用 Iterable

iterable 关键字可以用作函数参数的数据类型或函数的返回类型:

实例

使用 iterable 函数参数:


运行实例 »

点击 "运行实例" 按钮查看在线实例

实例

返回 iterable


运行实例 »

点击 "运行实例" 按钮查看在线实例

PHP - 创建 Iterable

数组

所有数组都是 iterable,因此任何数组都可以用作需要 iterable 的函数的参数。

迭代器

任何实现了 Iterator 接口的对象都可以用作需要 iterable 的函数的参数。

迭代器包含一个项目列表,并提供方法来循环遍历它们。它保持一个指向列表中某个元素的指针。列表中的每个项目都应该有一个可用于查找项目的键。

迭代器必须具有这些方法:

  • current() - 返回指针当前指向的元素。它可以是任何数据类型
  • key() 返回与列表中当前元素关联的键。它只能是整数、浮点数、布尔值或字符串
  • next() 将指针移动到列表中的下一个元素
  • rewind() 将指针移动到列表中的第一个元素
  • valid() 如果内部指针没有指向任何元素(例如,如果在列表末尾调用了 next()),则应返回 false。在任何其他情况下,它都返回 true

实例

实现 Iterator 接口并将其用作 iterable:

items = array_values($items);
  }

  public function current() {
    return $this->items[$this->pointer];
  }

  public function key() {
    return $this->pointer;
  }

  public function next() {
    $this->pointer++;
  }

  public function rewind() {
    $this->pointer = 0;
  }

  public function valid() {
    // count() 指示列表中有多少项
    return $this->pointer < count($this->items);
  }
}

// 一个使用 iterable 的函数
function printIterable(iterable $myIterable) {
  foreach($myIterable as $item) {
    echo $item;
  }
}

// 将迭代器用作 iterable
$iterator = new MyIterator(["a", "b", "c"]);
printIterable($iterator);
?>
运行实例 »

点击 "运行实例" 按钮查看在线实例

科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

70.9万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125万人学习

关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号