您现在的位置是:首页 > PHP框架交流PHP框架交流
php把对象foreach 循环 IteratorAggregate遍历对象更简洁更简单 php进阶
上善若水2022-01-03 11:15:01【PHP框架交流】 1762人已围观
简介我们知道把一个对象当做数组去循环操作可以直接,实现接口Iterator实现中的current()next()key()valid()rewind(),实际上php提供系统的IteratorAggreg
我们知道把一个对象当做数组去循环操作可以直接,实现接口Iterator实现中的current()next()key()valid()rewind(),实际上php提供系统的IteratorAggregate也能实现相同的功能,而且更加简单.
IteratorAggregate只需要实现一个方法getIterator就可以比较便捷
class myData implements IteratorAggregate
{
public $value ;
public function __construct()
{
$this->value = [11,22,33,44,55];
}
public function getIterator()
{
return new ArrayIterator($this->value);
}
}
$obj = new myData;
foreach ($obj as $key => $value) {
echo $key, ' ', $value;
echo "\n";
}
最后输入结果为:
0 11
1 22
2 33
3 44
4 55
看了下源码,发现yii底层使用的就是实现IteratorAggregate去实现对象的循环调用的,肯定强退这种方式,毕竟简洁.
很赞哦! (2)
相关文章
随机图文
-
幽默笑话:小时候的一个夏天,家里装了空调
1、给幼儿园的儿子买了一本小小的字典,准备教他怎么用。儿子很喜欢字典,走到哪带到哪,我问他:儿子,你大字不认识几个,怎么随身带着字典啊?儿子说:看以后幼儿园谁敢欺负我?谁欺负我,我拍他!2、媳妇是个急脾气,她让我帮她打印一张美颜照片,看着打印机里的相纸哼哼唧唧地蜗速往出爬,媳妇伸手往出慢慢拉,照片里的她下巴都被拉长了。。3、还在睡觉,电话响了,你不知道今天要上班吗?一看来电显示,我急忙跳下 -
spriingboot之mybatis 多对多关联查询
一对一关联,出现关联数据column所对应的值边为null,尽管关联的数据表有这个id值,中间表关联主表是一对一. 1.写个自定义sql根据通过中间表与用户表示是一对一的关联关系.2.写出查询用户表数 -
PHP8.1新特性枚举 枚举的简单用法
PHP8.1新特性枚举枚举的简单用法1.枚举类型的定义 enumStatus:int { caseDraft=1; casePublished=2; case -
理解yii自动加载机制 yi框架自动加载
理解yii自动加载机制,yii入口文件有引入两个自动加载,一个是composer自带的,一个是yii框架的自动加载文件,很多时候正是yii的自动加载机制才可以顺利将文件引入.来分析下yii自动加载.