0

私が使用したもの:

        $maxpoints = 40;
        for($i = 0; $i < count($trainergross); $i++){
                $trainergross[$i]['points'] = $maxpoints;
                $maxpoints -=2;
        }

ここに私のソート機能があります:

function grossSort($gross, $compare) {
    if($gross['gross'] > $compare['gross'])
        return -1; // move up
    else if($gross['gross'] < $compare['gross'])
        return 1; // move down
    else
        return 0; // do nothing
}

これはトリッキーです(少なくとも私にとっては)。総劣化の最大値 2 に基づいてポイント システムを生成する必要があります。

関数を実行して最高のグロス ( $trainergross)で並べ替えた後の配列を次に示します。

Array
(
    [0] => Array
        (
            [instr] => blah
            [club] => Colvin
            [gross] => 2146
            [bud] => 0
            [ratio] => 0
        )

    [1] => Array
        (
            [instr] => rob
            [club] => Evans
            [gross] => 2000
            [bud] => 0
            [ratio] => 0
        )

    [2] => Array
        (
            [instr] => new
            [club] => Boulevard
            [gross] => 930
            [bud] => 755
            [ratio] => 248
        )

    [3] => Array
        (
            [instr] => test
            [club] => Boulevard
            [gross] => 805
            [bud] => 50
            [ratio] => 50
        )

    [4] => Array
        (
            [instr] => lee
            [club] => Boulevard
            [gross] => 235
            [bud] => 60
            [ratio] => 30
        )

    [5] => Array
        (
            [instr] => rob
            [club] => Boulevard
            [gross] => 175
            [bud] => 125
            [ratio] => 125
        )

    [6] => Array
        (
            [instr] => rob
            [club] => Henrietta
            [gross] => 60
            [bud] => 0
            [ratio] => 0
        )

)

この例$trainergross[0]ではkey => value"points" => 40

$trainergross[1]38.. [2] は 36... などを取得します。

次に、配列をつぼみでソートし、最高のつぼみに基づいて値キーを増やします。

私の問題は、これをどこから始めればいいのかわからないことです。配列の順序に基づいてキーを追加することは可能ですか?

私が持っている唯一の考えは、3つの異なる配列を実行してからそれらをすべてマージすることですが、それは非常に非効率的です。

あいまいで申し訳ありませんが、尋ねる方法さえ本当に知りません。うまくいけば、これで十分に説明できます。

4

1 に答える 1