読者です 読者をやめる 読者になる 読者になる

01647

ustreamer-01647

その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の情報が適合しなくなったのだ.