今日、PHPで、「CSVデータを読み込んだ2次元配列を、2列~3列をキーにソート」するのに約2時間はまっていたので、今後のためにもメモしときます。
「CSVファイルを2次元配列にする(PHP)」は以前に書きました。そいつで読み込んだものを特定の列でソートする方法です。複数列をキーにしてのソートも可能。同じことでお悩みの方のお役にたてれば。
例:$Record[$i][0]を最優先のキー列とし、$Record[$i][1]、$Record[$i][2]の順にソートする
function cmp($a, $b) {
// 最優先の列をキーに比較
$result = $a[0] - $b[0];
if ($result == 0) { // もし同じ値なら
$result = $a[1] - $b[1];
}
if ($result == 0) { // もし同じ値なら
// 2番目の列で比較。
$result = $a[2] - $b[2];
}
return $result;
}
usort($Record, "cmp");


コメントする