本篇文章给大家分享的内容是关于【php类与对象】遍历 ,有着一定的参考价值,有需要的朋友可以参考一下
遍历对象
PHP 5 提供了一种定义对象的方法使其可以通过单元列表来遍历
默认情况下,所有可见属性都将被用于遍历。
Example #1 简单的对象遍历(foreach 遍历所有其能够访问的可见属性。) $value) { print "$key => $value\n";
}
}
}$class = new MyClass();foreach($class as $key => $value) { print "$key => $value\n";
}echo "\n";$class->iterateVisible();?>实现 Iterator 接口(预定义接口)。可以让对象自行决定如何遍历以及每次遍历时哪些值可用。
#接口摘要#Iterator extends Traversable {
abstract public mixed current ( void ) //返回当前索引游标指向的元素
abstract public scalar key ( void ) //返回当前索引游标指向的键
abstract public void next ( void ) //移动当前索引游标到下一元素
abstract public void rewind ( void ) //重置索引游标
abstract public boolean valid ( void ) //判断当前索引游标指向的元素是否有效
}
当一个实现了Iterator接口的对象,被foreach遍历时,会自动调用这些方法。
调用的循序是:rewind() -> valid() -> current() -> key() -> next()Example #2 实现 Iterator 接口的对象遍历var = $array;
}
} public function rewind() {
echo "rewinding\n";
reset($this->var);
} public function current() {
$var = current($this->var); echo "current: $var\n"; return $var;
} public function key() {
$var = key($this->var); echo "key: $var\n"; return $var;
} public function next() {
$var = next($this->var); echo "next: $var\n"; return $var;
} public function valid() {
$var = $this->current() !== false; echo "valid: {$var}\n"; return $var;
}
}$values = array(1,2,3);$it = new MyIterator($values);foreach ($it as $a => $b) { print "$a: $b\n";
}?>相关推荐:
立即学习“PHP免费学习笔记(深入)”;
citySHOP是一款集CMS、网店、商品、分类信息、论坛等为一体的城市多用户商城系统,已完美整合目前流行的Discuz! 6.0论坛,采用最新的5.0版PHP+MYSQL技术。面向对象的数据库连接机制,缓存及80%静态化处理,使它能最大程度减轻服务器负担,为您节约建设成本。多级店铺区分及联盟商户地图标注,实体店与虚拟完美结合。个性化的店铺系统,会员后台一体化管理。后台登陆初始网站密匙:LOVES










