そのarray_multisortは無効
array_multisort — 複数の多次元の配列をソートする
PHP: array_multisort - Manual
name,width,height,amount neko,1,3,111 inu,5,4,222 tora,3,2,333
なデータがある.ヘッダは$csvheaderに,本体は$recordsにある.widthとheightそしてamount,すなわちname以外について,連続してソートしたかった.
<?php foreach ($csvheader as $item) { foreach ($records as $key => $value) { $sortkeys[$item][$key] = $value[$item]; } } // 各列によってソート.最初の列を除くためにslice foreach (array_slice($csvheader, 1) as $item) { array_multisort($sortkeys[$item], SORT_DESC, SORT_NUMERIC, $records); print_r($records); } ?>
height以後,思い通りソートされなかった.初回たるwidthはソートされた.
初回のwidthによるソートで順序が変わったため,$sortkeysの情報が適合しなくなったのだ.