PHP-iterador

1.4 iterador

1.4.1 iterate

iterate Manual

pasos:

1, el puntero se restablece reset ()

2, compruebe la legalidad del puntero para obtener el puntero actual, si no nula es legal

3, para obtener el valor actual de la corriente ()

4. Obtener la clave clave actual ()

5, el puntero hacia abajo al lado ()

la implementación del código

<?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 iterador

PHP iterador se construye Interfaz

Aquí Insertar imagen Descripción

Escena: atravesar el objeto, el objeto es controlar la matriz de propiedad

<?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
*/
Liberadas 1921 artículos originales · ganado elogios 2040 · Vistas de 180.000 +

Supongo que te gusta

Origin blog.csdn.net/weixin_42528266/article/details/105140657
Recomendado
Clasificación