使用__toString()扩展PHP数组

时间:2014-01-30 14:18:17

标签: php arrays tostring extending

有没有办法用__toString()函数/方法扩展本机PHP数组?

我希望能够做到

$a = array($x, $y, $z);
echo $a;

这既不会抱怨Array to string conversion通知也不会抱怨Array的枯燥输出,而是在数组的__toString()方法中执行任何操作。

(在__toString中我会做一些事情,比如遍历数组并在每个元素上调用__toString()并将它们连接到一个描述整个数组的字符串。)

(我知道这可以通过例如包装器对象完成,这不是问题。我想在更微妙的层面上调整PHP。)

1 个答案:

答案 0 :(得分:1)

Php数组不是对象,它是有序的映射。最相关的文档可能是关于Arrays

的文档

正如迈克所说,添加数组操作方法的唯一方法是使用ArrayObject,它比其他语言中的数组更接近数组。

但是:

ArrayObject意味着使用Iterator,但它是OO。