前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP-迭代器

PHP-迭代器

作者头像
cwl_java
发布2020-03-28 19:32:16
3830
发布2020-03-28 19:32:16
举报
文章被收录于专栏:cwl_Javacwl_Java

1.4 迭代器

1.4.1 遍历数组

手动遍历数组

步骤:

1、复位数组指针 reset()

2、检查指针是否合法 获取当前指针,如果不为null就是合法的

3、获取当前值 current()

4、获取当前键 key()

5、指针下移 next()

代码实现

<?php
$stu=['tom','berry','ketty','rose'];
reset($stu);	//复位指针
while(key($stu)!==null){//键合法
	echo key($stu),'-',current($stu),'<br>';//获取键、值
	next($stu);		//指针下移
}
/*
0-tom
1-berry
2-ketty
3-rose
*/
1.4.2 迭代器

迭代器是PHP内置的接口

在这里插入图片描述
在这里插入图片描述

场景:遍历对象,获取的是对象中属性保存的数组

<?php
//定义类实现迭代器接口
class MyClass implements Iterator{
	//$list属性用来保存学生数组
	private $list=array();
	//添加学生
	public function addStu($name) {
		$this->list[]=$name;
	}
	//实现接口中的复位方法
	public function rewind() {
		reset($this->list);
	}
	//验证当前指针是否合法
	public function valid() {
		return key($this->list)!==null;
	}
	//获取值
	public function current() {
		return current($this->list);
	}
	//获取键
	public function key() {
		return key($this->list);
	}
	//指针下移
	public function next() {
		next($this->list);
	}
}

//创建班级
$class=new MyClass();
//添加学生
$class->addStu('tom');
$class->addStu('berry');
$class->addStu('ketty');
//遍历班级
foreach($class as $k=>$v){
	echo "{$k}-{$v}<br>";
}
/*
0-tom
1-berry
2-ketty
*/
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.4 迭代器
    • 1.4.1 遍历数组
      • 1.4.2 迭代器
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档