PHP 错误 - 严格标准:只有变量应该通过引用传递


PHP Error - Strict Standards: Only variables should be passed by reference

我收到以下错误:

严格的标准:只有变量应该在第 45 行的/home/bridgesh/public_html/include/functions/html_output.php 中通过引用传递

来自以下代码行:

44. while ($val = current($new_get)){
45.     if($val==end(array_reverse ($new_get)) )$new_getstr.='?'.key($new_get).'='.$val;
46.     else $new_getstr.='&'.key($new_get).'='.$val;
47.     next($new_get);     
48. }

我已经在这里阅读了关于这个主题的类似问题和答案,但无法弄清楚如何正确分解界限。

end处理对数组的引用,因此它需要一个包含数组的变量 然而,array_reverse ($new_get)不是变量,而是函数调用你必须做:

   $reversed = array_reverse ($new_get)
   if($val==end($reversed) )$new_getstr.='?'.key($new_get).'='.$val;

试试这个:

$new_getstr = http_build_query($new_get);

文档