1

我有一个函数,它在查询表时返回一个数组数组,每个“子数组”是表中的一行,现在我想创建一个“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] =>
)
4

1 回答 1

3

您没有导入$column您的 lambda:

$callback = function($value) use ($column) {
    return $value[$column];
};       

编辑这假定您正在调用该函数fetchColumn('column'),并且$array确实存在fetchColumn. 在您的代码中,它不...

于 2012-01-26T22:24:14.720 回答