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函数,该函数将引用作为第三个参数
[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);