私はStackOverflowでPHPの多次元配列をソートすることについてのすべての答えを調べましたが、私の質問に直接答えたものはありません。
さまざまな回答から、phpusort
関数またはphp関数のいずれかを使用する必要があることを理解しarray_multisort
ましたが、これらを特定の配列構造に適用する方法がわかりません。
これが私の変数です$array
:
Array
(
[0] => Array
(
[field1] => 10
[field2] => 100
[field3] => 100
[subarray] => Array
(
[0] => Array
(
[field1] => 10
[field2] => 100
[field3] => 100
)
[1] => Array
(
[field1] => 10
[field2] => 100
[field3] => abcORDERBYTHIS
)
)
)
[1] => Array
(
[field1] => 10
[field2] => 100
[field3] => 100
[subarray] => Array
(
[0] => Array
(
[field1] => 10
[field2] => 100
[field3] => 100
)
[1] => Array
(
[field1] => 10
[field2] => 100
[field3] => ghiORDERBYTHIS
)
)
)
[2] => Array
(
[field1] => 10
[field2] => 100
[field3] => 100
[subarray] => Array
(
[0] => Array
(
[field1] => 10
[field2] => 100
[field3] => 100
)
[1] => Array
(
[field1] => 10
[field2] => 100
[field3] => defORDERBYTHIS
)
)
)
)
field3
この配列をの最後の配列でソートできるようにしたいと思いますsubarray
。end
この要素へのアクセスは、次のようなphp関数を使用すると簡単です。
<?php
foreach($array as $array_single){
foreach(end($array_single['subarray']) as $sub_array){
echo $sub_array;
}
}
?>
そしてこれからは、この多次元配列をアルファベット順に具体的に並べ替えて、次の結果を得る方法に固執します。
$array[0]
-field3
値がabcORDERBYTHIS
$array[2]
-field3
値がdefORDERBYTHIS
$array[1]
-field3
値がghiORDERBYTHIS
前もって感謝します!