【问题标题】:Why am I getting an "unexpected token &" here?为什么我在这里得到一个“意外的令牌&”?
【发布时间】:2015-11-22 03:09:26
【问题描述】:

我的 PHP 语法高亮/智能提示告诉我该行中的 &&$cases

$thisTable = $work_type === WorkTypes::Study ? &$cases : &$projs);

是一个意外的标记。我要做的是为我的$cases$projs 对象创建一个别名,具体取决于$work_type === WorkTypes::Study

【问题讨论】:

  • 你有一个),但没有(
  • @AbraCadaver 那是我的一种类型

标签: php


【解决方案1】:

荧光笔是对的:引用运算符在三元运算符中不起作用,因为=& 是原子的(尽管空格似乎不太重要)。改用这个:

$work_type === WorkTypes::Study ? $thisTable = &$cases : $thisTable = &$projs;

(正如其他人提到的:没有括号或两者都有)

另见this SO answer

【讨论】:

  • 谢谢!看来这段代码是导致我的整个页面无法渲染的原因。
  • 不客气。如果可行,请将答案标记为已接受(另请参阅this guide
【解决方案2】:

有时缺少( 括号可能会杀死你,这发生在我们最好的人身上。

$thisTable = ($work_type === WorkTypes::Study ? &$cases : &$projs);

【讨论】:

    【解决方案3】:

    你少了一个括号:

    $thisTable = ($work_type === WorkTypes::Study ? &$cases : &$projs);
    

    【讨论】:

      猜你喜欢
      • 2017-02-28
      • 2013-03-29
      • 2016-01-19
      • 2020-07-31
      • 2021-11-08
      • 2016-11-22
      • 2015-10-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多