次の 2 つの方法で配列の要素を並べ替えようとしています。
- キーの長さで並べ替えます (小さい方が最初になります) -こちらを参照してください
- 最大値を最初に指定する必要があります
キーの長さで並べ替えるには、これを使用します。
function sortByLength($a,$b){
if($a == $b) return 0;
return (strlen($a) < strlen($b) ? -1 : 1);
}
uasort($deals_tag,'sortByLength');
配列は次のようにソートされます。
Array
(
[/merchantProductFeed] => 1
[/merchantProductFeed/merchant] => 1
[/merchantProductFeed/merchant/prod/text] => 158
[/merchantProductFeed/merchant/prod] => 158
)
私はそれを次のようにソートしたい:
Array
(
[/merchantProductFeed/merchant/prod] => 158
[/merchantProductFeed/merchant/prod/text] => 158
[/merchantProductFeed] => 1
[/merchantProductFeed/merchant] => 1
)
最初に配列がキーの長さでソートされ、次に最大値でソートされることに注意してください。
私はそれを行う方法がわかりません。
どんな助けでも大歓迎です!ありがとうございました!