建议在什么地方使用它们?我想存储从数据库中列出的文章的数据。
这是一个简单的问题:
echo $Datastore->name; //I like it works with foreach
//vs
echo $Datastore['name'];
哪个是最好的?stdClass
和array
获取元素的速度有什么不同吗?
有一个类似的问题什么是更好的stdClass或(对象)数组来存储相关数据?有这个答案
基于小测试(http://phpfiddle.org/lite/code/cz0-hyf)我可以说使用"new stdClass()"大约比其他方法慢3倍选项。
这很奇怪,但是与之相比,转换数组非常有效stdClass。
但是这个测试只测量执行时间。它不测量内存
注:我使用phpFiddle只是为了共享代码。测试是在我们当地完成的电脑。
在回答另一个类似的问题时,你可以看到这样的结论:
- 对于数组,PHP 5.5比PHP 5.4快,对于对象,它几乎是一样的
由于PHP 5.5和数组的优化,Class比Arrays慢。- stdClass是邪恶的
类仍然比数组使用更少的内存。(大约减少30-40% !!)。- SplFixedArray类似于使用Class,但它使用更多的内存。