【问题标题】:Strict Standards: Only variables should be passed by reference in functions.php严格标准:在functions.php中只能通过引用传递变量
【发布时间】:2012-12-24 11:55:48
【问题描述】:

我对我遇到的错误有点困惑。

错误是:

严格标准:只有变量才能通过引用传递 函数.php

引用的行是:

$action = array_pop($a = explode('?', $action)); // strip parameters

【问题讨论】:

标签: php standards strict


【解决方案1】:

试试这个:

$a= explode('?',$action);
$action = array_pop($a);

对了,$action是什么?

【讨论】:

    【解决方案2】:

    array_pop唯一的参数是一个通过引用传递的数组。 explode("?", $action) 的返回值没有任何引用。

    您应该先将返回值存储到一个变量中:

    $arr = explode('?',$action);
    $action = array_pop($arr);
    

    下面的东西可以通过引用传递:

    • 变量,即 foo($a)
    • 新语句,即 foo(new foobar())
    • 函数返回的引用

    Passing by Reference in PHP Manual

    【讨论】:

      【解决方案3】:

      $action = array_pop($a = explode('?', $action)); ///错了

      $action = array_pop($a = (explode('?', $action))); ///对

      确保你把explode放在括号中,比如(explode()),就是这样..

      【讨论】:

        猜你喜欢
        • 2013-05-21
        • 1970-01-01
        • 2014-02-10
        • 2012-10-25
        • 2020-07-02
        • 2013-12-28
        • 2013-08-14
        相关资源
        最近更新 更多