Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 呼叫时间按参考传递警告_Php - Fatal编程技术网

Php 呼叫时间按参考传递警告

Php 呼叫时间按参考传递警告,php,Php,然而,如果我删除&它将返回: 我需要帮助理解这一点,或者只是找到一个解决方案而不是更改.ini。您在这里滥用了array\u walk——您的回调函数实际上并没有返回新值array\u walk用于处理目标数组中的一个且仅一个值,不能通过引用处理任何值 通过使用一个简单的for循环,您可以实现想要的效果: [0] => 0 [1] => 01 [2] => 12 [3] => 23 [4] => 34 [5] => 45 [6] => 56 [7] =&

然而,如果我删除&它将返回:


我需要帮助理解这一点,或者只是找到一个解决方案而不是更改.ini。

您在这里滥用了
array\u walk
——您的回调函数实际上并没有返回新值
array\u walk
用于处理目标数组中的一个且仅一个值,不能通过引用处理任何值

通过使用一个简单的for循环,您可以实现想要的效果:

[0] => 0
[1] => 01
[2] => 12
[3] => 23
[4] => 34
[5] => 45
[6] => 56
[7] => 67
[8] => 78
[9] => 89
//设置数组。
$array=array();
对于($i=0;$i<10;$i++)
$array[$i]=$i;
//从第二个元素开始处理它
对于($i=1;$i
来自

注:地图上没有参考标志 函数调用-仅对函数执行 定义。函数定义 仅此一项就足以正确通过考试 通过引用进行论证。从PHP开始 5.3.0,您将收到一条警告,说明“通过引用传递呼叫时间”是无效的 在中使用时已弃用(&N) foo(&$a)

这意味着您不能将参数指定为引用。只有函数定义才能做到这一点。如果查看,您会发现只有第一个参数是引用,而最后一个参数不能是引用

所以最后,你想要的是不推荐的。你也可以

  • 更改ini(您不想更改)
  • 降级你的php版本
  • 通过将错误级别设置为较低来删除警告
  • 编写自己的array_walk函数,该函数将引用作为第三个参数

不要在循环声明中使用count()!Count()相对比较昂贵,每次循环都会执行,因此速度较慢。首先将计数存储到一个变量中,然后使用它。是的,我写它时很懒。:)
[0] => 0
[1] => 01
[2] => 012
[3] => 0123
[4] => 01234
[5] => 012345
[6] => 0123456
[7] => 01234567
[8] => 012345678
[9] => 0123456789
[0] => 0
[1] => 01
[2] => 12
[3] => 23
[4] => 34
[5] => 45
[6] => 56
[7] => 67
[8] => 78
[9] => 89
// Set up the array.
    $array = array();
    for($i = 0; $i < 10; $i++)
        $array[$i] = $i;
// Process it, starting at the second element
    for($i = 1; $i < count($array); $i++)
        $array[$i] = $array[$i - 1] . $array[$i];
    print_r($array);