【问题标题】:What exactly does || mean?究竟是什么||意思是?
【发布时间】:2011-04-14 16:54:34
【问题描述】:
return (empty($neededRole) || strcasecmp($role, 'admin') == 0 || strcasecmp($role, $neededRole) == 0);

|| 到底是什么?在这个声明中是什么意思?谁能帮我把这个用英文翻译一下。

我保证我已经用谷歌搜索过了,但我想我不知道用谷歌搜索什么,因为我找不到任何东西。

谢谢:)

【问题讨论】:

标签: php logical-operators


【解决方案1】:

【讨论】:

    【解决方案2】:

    谷歌搜索符号总是很困难。别担心:|| 在声明中表示or。不要将它与 Xor 混淆,这略有不同:

    • or|| 表示 A or B or A + B
    • xor 是指A or B, not both

    参考资料:

    【讨论】:

      【解决方案3】:

      这是一个 OR 运算符。如果它的任何“参数”为真,则为真。

      【讨论】:

      • 嗯...现在我更加困惑了。我认为它至少会返回一个值,即管理员或用户。如果我给你完整的功能,你会看看它并告诉我它到底会返回什么吗?我会在下一条评论中粘贴它
      • 公共函数 isAuthorized() { $role = $this->Auth->user('role'); $neededRole = null; $prefix = !empty($this->params['prefix']) ? $this->params['prefix'] : null; if (!empty($prefix) && in_array($prefix, Configure::read('Routing.prefixes'))) { $neededRole = $prefix; } return (empty($neededRole) || strcasecmp($role, 'admin') == 0 || strcasecmp($role, $neededRole) == 0); }
      • 我看起来像解析器吗?你至少会格式化你的代码吗?如果用户是管理员或用户,您问题中的代码可能会返回。我在回答中的意思是:如果任何 OR 操作数为真,则运算符返回真,否则返回假。
      • 感谢麦凯博士,感谢您的帮助。并对代码感到抱歉。如果不发布全新的评论,我无法弄清楚如何回车!
      【解决方案4】:

      || 表示或。 这是一个逻辑或,因此如果至少有一个条件为真,则为真,否则为假。

      【讨论】:

        猜你喜欢
        • 2011-03-12
        • 2014-10-29
        • 2016-01-27
        • 2014-12-05
        • 1970-01-01
        • 1970-01-01
        • 2021-11-19
        • 2018-07-27
        相关资源
        最近更新 更多