PHP:数组对象标准化的好坏?

时间:2016-10-01 12:35:35

标签: php arrays object

我目前正在开展一个项目,该项目要求我在查询数据库和/或处理数据时只输出对象。我从其他高级开发人员那里听说,物品价格低廉且价格低廉。在记忆方面,我"有点"同意这一点。

所以,我的问题:

  • 如果我有一个查询结果的数组。为什么不按原样使用数组""既然它已经存在?
  • 将它转换为对象真的是一种很好的做法(除标准化外)吗?
  • 它确实提高了性能吗? (我无法掌握它,因为通过将结果转换为对象,我基本上创建了另一个实体,除了已经存在的数组,包含相同的数据)。

1 个答案:

答案 0 :(得分:1)

在我看来,我会说你不应该将它们转换成对象。 您已经将它们作为数组,因此将它们转换/复制到对象中将需要更多内存,因为在给定时间,您最终会同时使用对象和数组。如果你绝对不需要任何OOP功能(继承,私有礼仪/方法......),你应该坚持你的阵列。

但请记住:您通常可以获取数据库并获取对象而不是数组。 (参见PDO fetchAll)然后你已经有了没有数组的对象。

如果您想知道这些双方如何在绩效方面发挥作用,请看一下 Using arrays VS objects for storing data

据我所知,(但我可能也错了)PHP arrays与经典C数组相比,不是数组。 PHP数组是一种对象,因为你有自由,即改变数组大小(只需添加一个值)。因此,您没有与C阵列完全相同的性能。

结论:随意保留您的阵列。如果您不需要对象的优点,则无需使用ressources来转换它们。毕竟,这也是编程风格,最佳实践和项目指南的问题。