PHP,数组的数组 vs 对象的数组

5

我正在创建一个基于从某处获取的数据的PHP数据结构。

如果我要将这些信息编码到一些标准容器中,比如XML或JSON,我会使用以下结构:

[ {'name': 'Lupin', 'age': '13'}, {'name': 'Igor', 'age': '24'}, ... ];

然而我有点不确定在PHP中应该使用什么(数组的数组 vs 对象的数组)。

其中一个问题是我并不太在意可读性,但是我希望能够对这个数组进行排序(可能很大)。例如,我可能想按最大年龄或其他内容对其进行排序。

那么,在PHP中应该使用什么结构来存储数据呢?我希望主要是一些性能比较。


3
如果数据量很大,而且您想要可排序性,把数据存储在数据库中是一个不错的选择吗? - Peter Ajtai
数据库其实是一个非常好的想法,即使它只是一个内存中的mysql或sqlite表。 - Timothy
@Peter Ajtai,将数据存储在数据库中的问题在于每次用户运行我的PHP脚本时,它都需要自己的私有数据空间,不能与整个数据库(其他人正在同时操作的数据)混淆。但是,如果可能,我可以创建一个“临时表”,该表仅由该用户请求访问。这是人们经常做的事情吗?我不怎么使用数据库,所以不知道。 - Luca Matteis
2个回答

2

@临时表:MySQL确实允许通过CREATE TEMPORARY TABLE创建临时表。这些表仅对当前连接可见,请确保不要使用持久连接 ;)


1

虽然数组是最直接的方法,但不要忘记SPL数据结构。根据使用情况,它们可能比数组表现更好。

此外,我建议在应用程序受到负面影响之前不要过多考虑性能(你知道“过早优化是万恶之源”的事情)。你的架构首先应该是可维护的。如果你已经决定遵循OOP范例,那么性能不能是你最重要的因素。它并不是为了速度而设计的。当你使用对象时,你正在尝试解决复杂性,而不是提高性能。

我会说现在使用适合你的东西。然后进行一些基准测试,当它执行得太慢时再进行优化。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接