0

这是 drupal 模块的一部分,我收到此错误:

Strict warning: Only variables should be passed by reference in customheaderimage_get_last_argument()

我的代码是

function customheaderimage_get_last_argument() {
  return customheaderimage_dashtoslash(array_pop(explode('/', $_GET['q'])));
}

q 包含类似“admin/configure/customheaderimage/edit/node--2”的值,dashtoslash 将 -- 更改为带有 str_replace 的斜线。所以所有这些链接的函数都返回类似'node/2'的东西,它目前确实有效。只是抛出这个警告

如何解决此警告消息,它在几个地方执行此操作?

4

1 回答 1

2

array_pop()通过引用接受一个参数:

混合 array_pop ( 数组 &$array )

它需要引用,因为它修改了作为参数传入的数组。您传递的是函数的结果而不是变量,因此引用没有意义。换句话说,您需要传递一个变量作为参数。

function customheaderimage_get_last_argument() {
  $arr = explode('/', $_GET['q']);
  return customheaderimage_dashtoslash(array_pop($arr));
}
于 2013-04-28T05:01:45.007 回答