【问题标题】:array_shift : Only variables should be passed by reference error in php [duplicate]array_shift:只有变量应该通过 php 中的引用错误传递 [重复]
【发布时间】:2015-05-22 08:37:48
【问题描述】:

我收到一个错误: 严格的标准:只能通过引用传递变量

 $string =  array_shift(array_keys($_REQUEST));

我该如何纠正?

【问题讨论】:

    标签: php


    【解决方案1】:
    $tmpArray = array_keys($_REQUEST);
    $string =  array_shift($tmpArray);
    

    需要临时数组:(

    【讨论】:

    【解决方案2】:

    array_keys($_REQUEST)的结果赋值给一个变量,并将该变量传递给array_shift

    $var = array_keys($_REQUEST);
    $string =  array_shift($var);
    

    【讨论】:

      【解决方案3】:

      您可能已将 PHP 设置为在严格模式下运行,或者这可能是默认行为。

      由于 array_keys($_REQUEST) 的输出不是变量,并且在严格模式下,这将产生警告。这种行为非常不直观,因为 array_keys($_REQUEST) 方法返回一个数组值。

      所以要解决这个问题,请将 array_keys($_REQUEST) 的输出分配给一个变量,然后像下面这样使用它:

      $keys = array_keys($_REQUEST);
      $shift = array_shift($keys);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-01
        相关资源
        最近更新 更多