以下のxyz
が var_dump($xyz); の出力であるとします。
array
7399 =>
array
'count' => int 103
'name' => string '2º SEMESTRE - 2012' (length=23)
7398 =>
array
'count' => int 50
'name' => string '1º SEMESTRE - 2012' (length=23)
7397 =>
array
'count' => int 43
'name' => string '2º SEMESTRE - 2011' (length=23)
7396 =>
array
'count' => int 20
'name' => string '1º SEMESTRE - 2011' (length=23)
7395 =>
array
'count' => int 53
'name' => string '2º SEMESTRE - 2010' (length=23)
'others' =>
array
'name' => string 'Others' (length=6)
'count' => int 65
この配列をcount desc、name ascでソートし、「others」要素を一番下に残します。以下のようにarray_multisortを使用しました
// Obtain a list of columns
foreach ($xyz as $key => $row) {
$count[$key] = $row['volume'];
$name[$key] = $row['edition'];
}
// Sort the data with volume descending, edition ascending
// Add $data as the last parameter, to sort by the common key
array_multisort($count, SORT_DESC, $name, SORT_ASC, $xyz);
しかし失敗しました。次の警告が表示されます。
Warning: array_multisort() [function.array-multisort]: Array sizes are inconsistent
私が欲しいのはこのようなものです
array
7399 =>
array
'count' => int 103
'name' => string '2º SEMESTRE - 2012' (length=23)
7395 =>
array
'count' => int 53
'name' => string '2º SEMESTRE - 2010' (length=23)
7398 =>
array
'count' => int 50
'name' => string '1º SEMESTRE - 2012' (length=23)
7397 =>
array
'count' => int 43
'name' => string '2º SEMESTRE - 2011' (length=23)
7396 =>
array
'count' => int 20
'name' => string '1º SEMESTRE - 2011' (length=23)
'others' =>
array
'name' => string 'Others' (length=6)
'count' => int 65
助けてください。皆様、これからもよろしくお願いします!!!