-1

i と呼ばれる配列がありparentArray()、キーが数値 (順序付き整数ではない) である連想配列と、配列である場合とそうでない場合がある値があります。次のようなhtmlテーブルにデータforeach()をループして出力するループがあります。parentArray()

foreach ($parentArray as $parentkey => $childArray){
    echo "<tr>";
    $Usage = some_function1($parentkey);
    $schoolUsage = some_function2($parentkey);
    echo "<td>".$Usage."</td>";
    echo "<td>".$schoolUsage."</td>";
    echo "</tr>";
}

出力テーブルを $Usage の昇順で並べ替える必要があり、2 つの行の $Usage が同じである場合は、$schoolUsage を比較して降順で並べ替える必要があります。私は完全に無知なので、それを行う方法についてのアイデア。$Usage と $schoolUsage は整数であることに注意してください。

4

2 に答える 2

0

あなたの質問は私には完全に明確ではありませんでしたが、私が理解している限り、おそらくphpにこの組み込み関数が必要です: array_multisort。問題の解決に役立つことを願っています。

ハッピーコーディング:)

于 2012-09-07T14:41:43.997 に答える
0

関数usort()を見てください。ソートを行うカスタム関数を渡すことができます (バブルソートのような)。

usort($parentArray, function($element1, $element2) {
  if($element1 == $element2) return 0; // elements stay on the same position as before
  if$element1 < $element2) {
    return -1; // move $element1 before element2
  } else {
    return 1; // move $element2 before element1
  }
});
于 2012-09-07T13:57:56.657 に答える