私は次のようなデータを持っています、
Bale # | Factory # | Design | Color    | Price   |
----------------------------------------------------------------
1      | PDX-1     | D1     | RED      | 10      |
1      | PDX-10    | D2     | BLUE     | 200     |
1      | PDX-2     | D3     | PINK     | Some int|
1      | PDX-3     | D1     | WHITE    | Some int|
2      | PDX-4     | D3     | APPLE    | Some int|
2      | PXX-56    | D3     | PINE     | Some int|
2      | XXX-1     | D1     | SILVER   | Some int|
1      | XXX-4     | D5     | BROWN    | Some int|
1      | DFX-1     | D5     | COFFEE   | Some int|
3      | ABC-1     | D6     | PURPLE   | Some int|
1      | ABC-2     | D6     | GOLD     | Some int|
これは多次元配列です。ここで、Bale#をキーに入れ、他の値をベールに対してサブ配列に入れます。
forloop (...)
      (.....)
    $sorted_by_bale[$BALE_NO][] = array(
        'jnb' => $factory_number,
        'design_name' => $order_design,
        'colorway' => $order_colorway,
        'usd_rate' => $price,
    );
}
値をベールで並べ替えてから、1つのベールの合計価格とベール内のアイテムの数を指定する必要があります。
ksort($sorted_by_bale);
Ksortはその目的を果たしました。
次に、ベール内でデザイン(最初)、次に色(2番目)で並べ替える必要があります。