首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Php,Spl,ArrayObject,ArrayObject::STD_PROP_LIST

Php,Spl,ArrayObject,ArrayObject::STD_PROP_LIST
EN

Stack Overflow用户
提问于 2012-09-13 11:03:35
回答 1查看 232关注 0票数 1

我正在努力理解ArrayObject::STD const,正如手册中定义的那样:

对象的属性在作为列表(var_dump、foreach等)访问时具有正常的功能。

我写这段代码:

代码语言:javascript
复制
$array = array(5,7,9,3,6,5,4);
$arrayObj = new ArrayObject($array);
var_dump($arrayObj);
$arrayObj2 = new ArrayObject($arrayObj->getArrayCopy(), ArrayObject::STD_PROP_LIST);
var_dump($arrayObj2);

在第一个var_dump中,我们可以看到数组元素,但是在第二个var_dump中,您看不到它们,我还测试了arrayObj对象和arrayObj2对象的foreach循环工作。

如果有人能向我解释什么是正常的功能,为什么第二个var_dump元素没有出现,谢谢大家,祝您愉快。

EN

回答 1

Stack Overflow用户

发布于 2012-09-13 11:34:44

我确信您正在使用任何<= PHP5.3.8版本。一个bug还检测到,您将得到以下信息

代码语言:javascript
复制
    object(ArrayObject)#1 (7) { [0]=> int(5) [1]=> int(7) [2]=> int(9) [3]=> int(3) [4]=> int(6) [5]=> int(5) [6]=> int(4) } 
    object(ArrayObject)#2 (0) { }

如果您在PHP5.3.10上运行,您将得到以下内容

代码语言:javascript
复制
    object(ArrayObject)#1 (1) { ["storage":"ArrayObject":private]=> array(7) { [0]=> int(5) [1]=> int(7) [2]=> int(9) [3]=> int(3) [4]=> int(6) [5]=> int(5) [6]=> int(4) } } 
    object(ArrayObject)#2 (1) { ["storage":"ArrayObject":private]=> array(7) { [0]=> int(5) [1]=> int(7) [2]=> int(9) [3]=> int(3) [4]=> int(6) [5]=> int(5) [6]=> int(4) } }

我认为你应该升级你的PHP版本

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12404808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档