この多次元配列を並べ替える方法を見つけるのにとてもうんざりしています。試しusort()
ましたが、思い通りに並べ替えられません。あるいは、使用する正しいロジックを理解できなかったのかもしれません。usort()
私には理解しにくいようです。
各サブ配列の値が高い方(キーaとbの間)を最初に見つけることで、データを並べ替えたいと思いました(以下の例) 。そして、キーaまたはbのいずれかから最も高い値を持つサブ配列が一番上になります。
たとえば、この配列:
Array
(
[0] => Array
(
[a]=>5
[b]=>
[c]=>apple
)
[1] => Array
(
[a]=>5
[b]=>7
[c]=>guava
)
[2] => Array
(
[a]=>6
[b]=>
[c]=>banana
)
[3] => Array
(
[a]=>5
[b]=>
[c]=>avocado
)
)
次のように並べ替える必要があります。
Array
(
[0] => Array
(
[a]=>5
[b]=>7
[c]=>guava
)
[1] => Array
(
[a]=>6
[b]=>
[c]=>banana
)
[2] => Array
(
[a]=>5
[b]=>
[c]=>apple
)
[3] => Array
(
[a]=>5
[b]=>
[c]=>avocado
)
それで、私はこれをどのように正確に行うことができますか?usortの使い方がとても混乱しています。これをソートするための最良のPHP関数は何ですか?