如何将变量“$ field”传递给lambda函数?
function implode_assoc_array($array, $field)
{
// $ids = array_column($array, $field); PHP 5.5!
$ids = array_map(function($item) { return $item[$field]; }, $array);
return implode(', ', $ids);
}
implode_assoc_array($my_multidimensional_array, 'id');
消息:未定义的变量:字段
答案 0 :(得分:4)
试
array_map(function($item) use($field) { return $item[$field]; }, $array);
答案 1 :(得分:0)
function implode_assoc_array($array, $field)
{
// $ids = array_column($array, $field); PHP 5.5!
$ids = array_map(function($item) use ($field) { return $item[$field]; }, $array);
return implode(', ', $ids);
}
implode_assoc_array($my_multidimensional_array, 'id');
如果要修改变量,请使用
$ids = array_map(function($item) use (&$field) { return $item[$field]; }, $array);
请参阅PHP manual page,示例#3闭包和范围