建议在哪里使用其中一个?我想存储db。中列出的文章中的数据。
这是一个简单的问题:
echo $Datastore->name; //I like it works with foreach
//vs
echo $Datastore['name'];
哪个最好?获取元素的速度stdClass
和array
之间有什么区别吗?
答案 0 :(得分:11)
有一个类似的问题什么是更好的stdClass或(对象)数组来存储相关数据?与this answer
基于小测试(http://phpfiddle.org/lite/code/cz0-hyf)我可以说 使用" new stdClass()"比其他人慢约3倍 选项。
很奇怪,但是比较投射阵列非常有效 到stdClass。
但是这个测试只计算执行时间。它不计量内存。
P.S。我只使用phpFiddle来共享代码。测试在我当地完成 PC。
In answer to another similar question你可以看到这个结论:
- 对于数组,PHP 5.5比PHP 5.4快,对于对象它几乎相同
- 由于PHP 5.5和数组的优化,Class比Arrays慢。
- stdClass很邪恶。
- Class仍使用比Arrays更少的内存。 (减少约30-40%!!)。
- SplFixedArray类似于使用Class但它使用更多内存。
醇>