【发布时间】: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