【问题标题】:Is it necessary and best practice to reassign a variable to cast it to a new type? [duplicate]重新分配变量以将其转换为新类型是否有必要和最佳实践? [复制]
【发布时间】: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


【解决方案1】:

settype() 是就地更改变量类型的唯一方法。其他所有机制都返回一个新值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    • 2012-10-28
    • 2022-01-26
    • 1970-01-01
    • 2013-11-21
    • 2013-06-23
    相关资源
    最近更新 更多