【问题标题】:PHP: Is it faster to reuse object or copy into arrayPHP:重用对象或复制到数组中是否更快
【发布时间】:2013-11-25 20:25:42
【问题描述】:

我有一个基本问题希望有人能回答。

在 PHP 中,一遍又一遍地引用对象的属性是否会更快,或者将这些属性复制到数组中会更快吗?

如果您有一个已经实例化并完全填充的对象。当您想不断地将一些对象属性传递给各种函数时,我应该只重用该对象,还是以某种方式创建它不会在数组中的开销?

示例: 我有一个请求对象。这个对象有几个搜索参数。我想继续引用这些不同的搜索参数,所以目前我正在使用:

$request->d->postcode

有人建议先将这些搜索参数复制到一个数组中,然后重新使用该数组:

$searchParams = get_object_vars($request->d);

那么我可以简单地使用:

$searchParams['postcode']

非常感谢您的建议。

【问题讨论】:

  • 相反:在现代版本的 PHP 中,对象可以比数组有更好的性能。你为什么不试试呢? (事实上​​,它可能对你影响不大。)
  • 双向基准测试。 如果您发现任何明显的差异,请确定更改后的代码是否值得在性能上产生微小的差异。
  • 如果您使用搜索参数来查询数据库,这将比您在 php 中对变量执行的任何操作花费更多的 cpu 周期。

标签: php arrays performance object


【解决方案1】:

我认为这是个人喜好问题。

对象的一大优点是它们减少了代码中的乘法,将对象放入数组会产生不必要的重复,并且会使代码过于复杂(不同命名变量中的相同值)。

我发现将代码中的所有数据保存在同一个对象中更容易。这也使它对其他人更具可读性。

【讨论】:

    猜你喜欢
    • 2016-08-21
    • 1970-01-01
    • 1970-01-01
    • 2014-01-09
    • 1970-01-01
    • 1970-01-01
    • 2017-07-16
    • 2013-03-04
    • 1970-01-01
    相关资源
    最近更新 更多