私は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
前もって感謝します!