标签:php
当我使用print_r检查此函数的内容时,$arr和$refs是相同的.
奇怪的是,这是给here解决传递call_user_func_array引用数组问题的解决方案.
此函数返回引用数组还是值数组?
function makeValuesReferenced($arr){
$refs = array();
foreach($arr as $key => $value)
$refs[$key] = &$arr[$key];
return $refs;
}
函数调用:
print_r($db_->ref_arr(array(1,2,3,4)));
结果
Array ( [0] => 1
[1] => 2
[2] => 3
[3] => 4 )
信息.在准备好的报表上here
信息.在call_user_func_array here上
信息.关于call_user_func_array here引用的必要性
此函数返回引用数组还是值数组?
更新:使用var_dump并添加&给参数给出相似的结果…添加验证是否返回了int.
1 2 3 4 array(4) { [0]=> &int(1) 07004=> &int(2) 07005=> &int(3) 07006=>
&int(4) }
解决方法:
不,您的函数不返回引用数组.
如果要返回引用数组,请更改为:
function makeValuesReferenced(&$arr){
$refs = array();
foreach($arr as $key => $value)
$refs[$key] = &$arr[$key];
return $refs;
}
PS:您应该使用var_dump进行检查.
标签:php
来源: https://codeday.me/bug/20191208/2087776.html