【发布时间】:2018-12-18 06:16:26
【问题描述】:
如果我们有一个 PHP 数组并且想将它转换为一个对象,是否有必要重新分配变量?这对性能有什么好处吗?
$key_value = ('key1'=>'value1' , 'key2'=>'value2');
$key_value = (object)$key_value; //We can reassign as an object
//Is there a way to, without reassigning, just cast the type of the already assigned variable?
//Is this advantageous in terms of performance?
(object)$key_value; //is this the correct syntax, considering it is even possible?
在大多数情况下,这可能无关紧要,但它让我对它背后的理论感到好奇。
【问题讨论】:
-
所以试试这段代码并告诉我们。
-
@u_mulder 感谢您的回答,我对问题中所述的理论感兴趣。
-
我认为性能影响可以忽略不计。强制转换是 CPU 周期的顺序,这需要不到 1 纳秒的时间来完成。如果您将纳秒级设置为其他“微不足道”的任务(例如查找文件),那会小几个数量级,您可能永远不会注意到它:twitter.com/rzezeski/status/398306728263315456
-
这实际上是2个问题-第一个,“如果我们有一个PHP数组并且想将它转换为一个对象,是否有必要重新分配变量?” 可以简单地回答——不。第二,“这对性能有什么好处吗?” 可能会用某种数字耸肩来回答 - meh 也许?差异将很小,甚至可能更糟。
标签: php casting type-conversion