【问题标题】:CodeIgniter: Fatal error: Can't use method return value in write contextCodeIgniter:致命错误:无法在写入上下文中使用方法返回值
【发布时间】:2017-05-19 22:36:58
【问题描述】:

我在向控制器发布响应时遇到了这个问题,但它会引发此错误。这是我第一次遇到这个错误。

请在下面找到代码:

    if (isset($this->input->post('responseCode'))) 
       {
         echo '<p><strong>Cardstream Response</strong></p>';
         echo '<pre>';
         print_r($this->input->post());
         echo '</pre>';
       }

它指向这条特定的线if (isset($this-&gt;input-&gt;post('responseCode')))

这是一个卡片流集成。不幸的是,我没有在 codeigniter 中找到 cardstream 的库,因此我使用的是 Core PHP 代码。

任何帮助将不胜感激。谢谢。

【问题讨论】:

  • 尝试 null !== 而不是 isset
  • 你应该经常去查看文档,所以当你问自己“这个函数/方法返回什么?”时你会豁然开朗,找到问题的答案!
  • 感谢 Tim 和 wolfgang 的提醒

标签: php codeigniter


【解决方案1】:

您在一个方法上使用isset(),该方法可能返回一个表达式结果。您不能这样做,因为 isset() 仅用于变量。尝试检查它是否为空:

if ($this->input->post('responseCode') !== null) {...

或者简单地说:

if ($this->input->post('responseCode')) {...

【讨论】:

    【解决方案2】:

    使用这个

    if ($this->input->post('responseCode'))
    

    而不是isset()检查

    【讨论】:

    • 好吧,对那个错误进行了排序。这么晚才回复很抱歉。还有几个错误我需要解决。非常感谢
    【解决方案3】:

    你不能在你可以使用的函数上使用 isset

    if($this->input->post('responsecode'))
    

    if(!empty($this-&gt;input-&gt;post('responsecode')))

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-12
      • 1970-01-01
      • 1970-01-01
      • 2019-11-06
      • 2012-06-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多