我有一个函数在查询表时返回一个数组数组,每个'子数组'是表中的一行,现在我想创建一个'fetchColumn'函数来转换我生成的数组:
Array(
[0] => Array(
'column' => 'value'
)
[1] => Array(
'column' => 'value'
)
[2] => Array(
'column' => 'value'
)
)
进入这个:
Array(
[0]=>value
[1]=>value
[2]=>value
)
这是功能:
public static function fetchColumn($column)
{
$callback = function($value){
return $value[$column];
};
return array_map($callback,$array); // $array exists
}
我明白了:
Array
(
[0] =>
[1] =>
[2] =>
)
答案 0 :(得分:3)
您没有将$column
导入您的lambda:
$callback = function($value) use ($column) {
return $value[$column];
};
编辑这假设您正在调用函数fetchColumn('column')
,而$array
确实 存在于{{1}的上下文中}。在你的代码中,它没有......