【问题标题】:PHP test if operator exists?PHP测试运算符是否存在?
【发布时间】:2017-07-05 23:52:48
【问题描述】:

我今天需要为某些东西提供动力,我记得有一个新的运算符 **,但只是从 PHP 5.6 开始,遗憾的是,它还没有普及。

所以我想知道 - 是否有某种方法可以测试运算符是否存在而不是通过测试 PHP 版本
显然,没有operator_exits(...)这样的功能,我找不到其他任何东西。

【问题讨论】:

  • 据我所知这是不可能的。此外,如果运算符不存在,解析器将崩溃。
  • 我怀疑pow() 会被弃用或删除,为什么不直接使用它呢?
  • @AbraCadaver 当然我不是在谈论pow(),而是在谈论任何可能的即将到来的运营商......
  • 我今年听到一些传言说可以在 PHP 中使用一些底层 C++ 函数,这可能会有一些答案:)

标签: php testing operator-keyword exists


【解决方案1】:

不存在这样的功能。

检查运算符是否存在的功能仅在允许operator overloading 的语言中才有意义,例如C++。在PHP 中,运算符不能超载,核心团队为开发此类功能所付出的努力永远不值得。我们只需要知道哪个版本支持哪些运算符并从那里开始工作。

【讨论】:

    【解决方案2】:

    为什么不直接检查PHP version number?如果它低于 5.6,则有一个后备方法。

    【讨论】:

    • a) 我正在寻找一种没有那个的方法 b) 如果它还没有,显然,你会得到解析错误;)
    • @jave.web 关于解析错误的有效点可能有两个版本检查版本号然后使用包含调用正确的?
    • 嗯,这是一个解决方案 :-D 但有点矫枉过正:)
    猜你喜欢
    • 2015-12-23
    • 1970-01-01
    • 2011-11-25
    • 2012-09-03
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多