我在下面有一个函数被调用并传递一个数组.我还想传递一个字段(或键)名称,以便它可以重复使用.当我尝试在回调中传递$field时,我得到一个错误,即没有定义$field.如果我使用文字,它的效果很好.
function array_map_recursive($array,$field) { $sum = 0; foreach ($array as $key => $value) { foreach ($value as $key2 => $value2) { $sum += array_sum(array_map(function($item){return $item[$field];},$value[$key2])); } } return $sum; }
所谓:
number_format(array_map_recursive($dept_catg_grp_descs,"total_ty_yest_sales"))
解决方法
function ($item) use ($field) {return $item[$field];}
这将$field变量“导入”到函数中.