【问题标题】:To cast or to function call?强制转换或函数调用?
【发布时间】:2010-10-07 12:04:07
【问题描述】:

在 PHP 中使用语法将值转换为整数会更好

(int)$value

intval($value)

这个问题也与字符串、布尔值、浮点数有关

【问题讨论】:

    标签: php types


    【解决方案1】:

    两者之间的差异可以忽略不计。即使是完全不切实际的场景(100k 的循环),您也最多可以节省几毫秒。

    毫秒重要吗?是的。这是否会成为您应用程序优化的最大候选者?没有。

    选择你喜欢的语法。

    【讨论】:

    • 一定要爱上 PHP... 做一件事的 15 种方法 =)
    【解决方案2】:

    使用 intval() 会产生函数调用的开销,但允许您使用 10 以外的基数。

    (int) 更快。

    在任何人说速度无关紧要之前 - 如果您经常这样做(1000 次或 10,000 次)并运行分析器,额外的函数调用会有所作为。

    【讨论】:

    • 我以前听过这个...从内存中引用...“(int)是一种语言结构,所以它比函数调用更快”
    • 用户空间函数调用很昂贵。本地调用——例如 intval()——远没有那么简单。在这种情况下,我循环了 10k 次,差异为 0.0032 秒。当新手开发人员阅读像您这样的建议时,他们会优化这些内容,而他们应该花更多时间在他们的应用程序中真正的时间槽上。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-27
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    • 2012-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多