[PHP] 二維陣列的排序

可使用PHP內建的 function array_multisort (適用PHP 4, PHP 5)
$data = array(
    array('name' => 'richard', 'score' => 20),
    array('name' => 'alex', 'score' => 18),
    array('name' => 'jack', 'score' => 22),
);
使用方式
$score = array();
foreach ($data as $user) {
    $score[] = $user['score'];
}
array_multisort($score, SORT_ASC, $data);

另一種方式使用 function usort (適用PHP 4, PHP 5),使用此 function 就可自訂比較的方式
$output_data= array(2833, '2833A', 2511, 3000);

function cmp($a, $b)
{
    if ($a['stockid'] == $b['stockid']) {
        return 0;
    }
    return ($a['stockid'] < $b['stockid']) ? -1 : 1;
}
usort($output_data, "cmp");

# Output: $output_data= array(2511, 2833, '2833A', 3000);

留言

這個網誌中的熱門文章

[MAC] MacBook Air 2012 手動換硬碟

[PHP] 將陣列中重複的值刪除最好方法 array_flip (移除陣列中重複的值)

[Linux] 看懂 Linux Memory Usage 記憶體使用率