<?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";
}
?>
php对象的遍历
最新推荐文章于 2023-12-09 20:26:42 发布