1

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

错误是:

严格标准:在functions.php中只能通过引用传递变量

参考线是:

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

3 回答 3

3

试试这个:

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

顺便说一句,什么是$action

于 2013-01-10T07:03:27.560 回答
0

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

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

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

可以通过引用传递以下内容:

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

PHP手册中的引用传递

于 2013-04-29T07:31:03.307 回答
0

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

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

确保将explode放在括号中,例如(explode()),就是这样..

于 2016-02-10T10:24:27.547 回答