php对象的遍历

<?php

//遍历对象属性,通过foreach语句可以实现对象可见属性的遍历,但是不可见的属性只有通过类本身才能看到。

/*
class MyClass
{
	public $var1 ='value1';
	public $var2 ='value2';
	public $var3 ='value3';


	protected $protected = 'protected var';

	private $private ='private var';

	function iterateVisible()
	{
		echo "MyClass::iterateVisible";

		foreach($this as $key =>$value)
		{
			print "$key =>$value";
		}
	}
}


$class = new MyClass();

foreach($class as $key=>$value)
{
	print "$key =>$value<br>";
}


$class->iterateVisible();

*/

class MyIterator implements Iterator
{
	private $var = array();

	public function __construct($array)
	{
		if(is_array($array))
		{
			$this->var = $array;
		}
	}

	public function rewind()
	{
		echo "rewinding<br>";

		reset($this->var);
	}

	public function current()
	{
		$var = current($this->var);
		echo "current<br>";
		return $var;
	}

	public function key()
	{
		$var = key($this->var);
		echo "key<br>";
		return $var;
	}

	public function next()
	{
		$var = next($this->var);
		echo "next:$var<br>";

		return $var;
	}

	public function valid()
	{
		$var = $this->current() !==false;
		echo "valid<br>";

		return $var;
	}
}


$values = array(1,2,3);
$it = new MyIterator($values);


echo "--------------<br>";

$it->key();

echo"-000000000000000<br>";

foreach($it as $a =>$b)
{
	print "$a :$b";
}
?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值