1
18
问题
可以是
通过更改解决
PHP的作者在一段时间前搞砸了这门课,现在他们 won't change it in sake of backwards compatibility :
编辑:
如果您仍然需要这个功能,我建议您改用magic方法(
当然不是一个理想的解决方案,但我想不出更好的解决方案。 更新: 这个问题是 fixed in PHP 5.3.4 arrayaccess现在按预期工作:
|
2
6
这个问题实际上是可以解决的,完全是功能性的。 来自arrayaccess文档的注释 here :
然后可以扩展该类,如下所示:
这将为您提供一个可以被视为数组的对象(大多数情况下,请参见代码中的注释),该对象支持多维数组集/获取/取消设置。 |
3
3
编辑:见Alexander Konstantinov的回复。我在考虑“获得魔法”的方法,这是类似的,但实际上是正确实现的。因此,如果没有类的内部实现,就不能这样做。 edit2:内部实施: 注意:你可能会说这纯粹是自慰,但不管怎样,这里是:
现在这个脚本:
给予:
原文如下——这是不正确的:
你的
有关内部等效项,请参见 here .
总之,涉及写入或取消设置子属性的子维度的操作调用offsetget,而不是offsetset、offsetxists或offsetup。 |
4
2
解决方案:
|
5
1
我用这个解决了它:
因此,您可以将其用于:
请注意,我不检查偏移量是否为空,如果是数组,它的大小必须为>1。 |
6
0
主要是根据达科他的解决方案*我想分享我对它的简化。 *)达科他是我最能理解的一个,结果非常好(其他的看起来非常相似)。 所以,对于像我这样的人,他们很难理解这里发生的事情:
我做了一些改变:
正如我介绍的,这篇文章更适合像我这样不太先进的人。 编辑:这只适用于在实例化期间设置的单元格,而不可能在以后添加新的单元格。 |
7
0
|
Jacco · 未能格式化我的日期以在php中正确工作 1 年前 |
jay ram · 如何在URL核心php中从API获取JSON? 1 年前 |
Ishwarya A · php电子表格在浏览器中显示多张excel 1 年前 |