如何使用PHP实现对象遍历的方法?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1064个文字,预计阅读时间需要5分钟。
目录 + 对于PHP来说,foreach是一个非常方便好用的语法,几乎每个PHPer都会在日常接触最多的请求之一。那么,对象能否通过foreach来遍历呢? + 答案是肯定的,但有一个条件,那就是对象必须实现`ArrayAccess`接口。
目录
对于php来说,foreach是非常方便好用的一个语法,几乎对于每一个PHPer它都是日常接触最多的请求之一。那么对象是否能通过foreach来遍历呢?
答案是肯定的,但是有个条件,那就是对象的遍历只能获得它的公共属性。
// 普通遍历 class A { public $a1 = '1'; public $a2 = '2'; public $a3 = '3'; private $a4 = '4'; protected $a5 = '5'; public $a6 = '6'; public function test() { echo 'test'; } } $a = new A(); foreach ($a as $k => $v) { echo $k, '===', $v, PHP_EOL; } // a1===1 // a2===2 // a3===3 // a6===6
不管是方法还是受保护或者私有的变量,都无法遍历出来。
本文共计1064个文字,预计阅读时间需要5分钟。
目录 + 对于PHP来说,foreach是一个非常方便好用的语法,几乎每个PHPer都会在日常接触最多的请求之一。那么,对象能否通过foreach来遍历呢? + 答案是肯定的,但有一个条件,那就是对象必须实现`ArrayAccess`接口。
目录
对于php来说,foreach是非常方便好用的一个语法,几乎对于每一个PHPer它都是日常接触最多的请求之一。那么对象是否能通过foreach来遍历呢?
答案是肯定的,但是有个条件,那就是对象的遍历只能获得它的公共属性。
// 普通遍历 class A { public $a1 = '1'; public $a2 = '2'; public $a3 = '3'; private $a4 = '4'; protected $a5 = '5'; public $a6 = '6'; public function test() { echo 'test'; } } $a = new A(); foreach ($a as $k => $v) { echo $k, '===', $v, PHP_EOL; } // a1===1 // a2===2 // a3===3 // a6===6
不管是方法还是受保护或者私有的变量,都无法遍历出来。

