我有一个扩展ArrayIterator的PHP类,并且已经实现了所有必要的方法,因此它的行为就像一个数组.
这适用于foreach循环之类的东西,但调用print_r它仍然会打印出对象的变量,而不是像数组一样打印它.
是否有某种方法可以覆盖此行为,以便调用print_r(我猜var_dump)将为此对象打印自定义输出?
从 PHP 5.6 开始,添加了 magic 方法__debuginfo,如果你实现它,你应该能够覆盖var_dump和print_r行为。
参见这里: http: //php.net/manual/language.oop5.magic.php#object.debuginfo