1

を使用して、指定されたキーで 2 次元連想配列を並べ替えたいと考えていますuasort

私が試してみました

function sortBy(&$arr, $key) {
    $cmp = function($a, $b) {
        global $key;
        return $a[$key] < $b[$key] ? -1 :
               $a[$key] == $b[$key] ? 0 : 1;
    };
    return uasort($arr, $cmp);
}

しかし、$key内部では未定義$cmpです。

4

2 に答える 2

4

これを使ってみてください

function sortBy(&$arr, $key) {
    $cmp = function($a, $b) use ($key) {
        return $a[$key] < $b[$key] ? -1 :
           $a[$key] == $b[$key] ? 0 : 1;
    };
    return uasort($arr, $cmp);
}
于 2014-02-04T21:20:48.540 に答える