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

时间:2013-01-10 06:34:31

标签: php standards strict

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

错误是:

  

严格标准:只应通过引用传递变量   的functions.php

参考文献中的一行是:

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

3 个答案:

答案 0 :(得分:3)

试试这个:

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

顺便问一下,$action是什么?

答案 1 :(得分:0)

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

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

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

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

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

Passing by Reference in PHP Manual

答案 2 :(得分:0)

  

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

     

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

     

假设你把爆炸放在括号中(爆炸()),那就是它......