物件的遍歷和陣列的遍歷一樣,物件的遍歷指的是實例屬性的遍歷。
下面遍歷出來的屬性,是在該範圍中的「可存取屬性」(要考慮存取權限)。
<?phpclass A{ public $p1 = 1; protected $p2 = 2; private $p3 = 3; static $p4 = 4; }$obj1 = new A();foreach($obj1 as $key => $value){//$key表示对象的属性,$value是其对应的值 echo "<br />属性$key :" . $value; }?>
運行結果:
属性p1 :1
可見只有public修飾的屬性才能遍歷,那如何使一個物件的所有屬性都遍歷?在類別內部寫一個遍歷的方法即可。
<?phpclass A{ public $p1 = 1; protected $p2 = 2; private $p3 = 3; static $p4 = 4; //静态属性 function showAllProperties(){ foreach($this as $key => $value){ echo "<br />属性$key :$value"; } } }$obj1 = new A();$obj1->showAllProperties();?>
運行結果:
属性p1 :1 属性p2 :2 属性p3 :3
但靜態屬性不屬於對象,所以不能遍歷。
#以上是PHP物件導向-物件的遍歷的程式碼分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!