通过实现所有必要的SPL接口,是否可以编写一个几乎与实际PHP数组无法区分的类?他们是否遗漏了任何关键的东西?
我想构建一个更高级的Array对象,但我想确保如果我用自定义Array类替换它们,我不会破坏现有的使用数组的应用程序.
我能想到的唯一问题是gettype()和is_array()函数.检查您的代码
gettype($FakeArray) == 'array' is_array($FakeArray)
因为虽然您可以像对象一样使用对象,但仍然会将其标识为对象.