版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
- 通过foreach遍历对象public属性
- 通过public方法遍历对象私有和受保护的属性
- 在方法中通过self::$属性名 = $属性名来访问静态属性
- 在外部通过 类名::$属性名 访问静态属性
<?php
//php中的对象遍历
//通常遍历的时外部可见的public属性
//使用foreach($obect as $key=> $value){}
class Demo{
public $name;
public $age;
public $salary;
private $sex;
protected $monry;
public static $home;//静态属性
//声明构造方法,用来初始化属性
public function __construct($name,$age,$salary,$sex,$monry,$home){
$this->name = $name;
$this->age = $age;
$this->salary = $salary;
$this->sex = $sex;
$this->monry = $monry;
self::$home = $home;
}
//通过公共方法访问内部的所有属性(包含私有的和受保护的)
public function query(){
foreach ($this as $key => $value) {
print $key ."=>".$value.'<br>';
}
print self::$home;
}
}
//外部访问
$obj = new Demo('peter',28,4000,'男',200,true);
//遍历对象
foreach ($obj as $key => $value) {
echo $key . '=>'.$value.'<br>';
}
echo "<hr><hr><hr><hr><hr>";
echo "<br>";
echo $obj->query();
echo "<hr><hr><hr><hr><hr>";
echo Demo::$home;//外部使用类名访问静态成员
?>