php iterator接口,PHP预定义接口之Iterator(迭代器)接口演示

该博客详细介绍了如何通过实现Iterator接口来遍历类内部的私有数组。示例代码中,创建了一个名为A的类,实现了Iterator接口的5个方法:current、key、next、rewind和valid,以允许外部代码访问并遍历类的保护数组$link,包含品牌、商品名称、价格和渠道等信息。
摘要由CSDN通过智能技术生成

主要是用于遍历类中未公开的数组数据,这个接口需要5个方法,具体看下面的demo

class A implements iterator

{

protected $link = [

"brand"=>"huawei",

"goodsName"=>"p20",

"price"=>"3500",

"channel"=>"4G",

];

// Iterator::current — 返回当前元素

// Iterator::key — 返回当前元素的键

// Iterator::next — 向前移动到下一个元素

// Iterator::rewind — 返回到迭代器的第一个元素

// Iterator::valid — 检查当前位置是否有效

public function current()

{

// 返回当前元素的值

return current($this->link);

}

public function key()

{

// 获取键值

return key($this->link);

}

public function next()

{

// 指针下移

return next($this->link);

}

public function rewind()

{

// 重置指针

return reset($this->link);

}

public function valid()

{

// 判断有没有值

return !is_null(key($this->link));

}

}

$obj = new A();

foreach ($obj as $key => $value) {

echo "$key=>$value","
";

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值