問題タブ [array-multisort]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHP で複数の配列をソートする方法
データの配列を生成するスクリプトを作成しましたが、スコアの順に表示したいと考えています。配列は次のように出力されます。
一言で言えば、次のように変換したいと思っています。
私は asort() を見てきましたが、何も動作しません。どんな助けでも大歓迎です。
php - 最初ではない次元の数値による多次元配列のソート
構築中のフォーラム プログラムの検索機能を作成しています。ある時点で、数値であり、そのディメンションの 1 つとして「スコア」を含む searchResults という配列があります (他は「timeStarted」、「authorUID」、および「TID」です)。
したがって、この配列はこの時点で混乱しているため、$searchResults[1] が最高の「スコア」になり、[2] が 2 番目に高くなるように整理する必要があります。php.net の array_multisort を見ました。しかし、それがどのように機能するかについてすぐに迷子になりました。では、$searchResults を数値順に並べ替える (キーを並べ替える) には、並べ替えメカニズムとして、さらに次元 '並べ替え' の降順で降順で並べ替えるにはどうすればよいでしょうか? それに伴うコードは実際にはありませんが、配列がどのように見えるかのレイアウトが必要な場合は、次のようにします。
助けてくれてありがとう。
php - 多次元配列の並べ替えと重複削除を最適化する
次のコードを最適化するための良いアイデアを誰かが持っているかどうか疑問に思います。次のような多次元配列($ List)があります。
まず、次のように(他の値に関係なく)同じタイトルを共有するエントリを削除します。
完全。次に、最初に優先度フィールド、次にidで配列を並べ替えます。
両方のコードブロックがループに表示されるため、並べ替える前に$sort_idと$sort_priorityがクリアされます。
これを行うためのより良い方法はありますか?つまり、並べ替えプロセスを使用して重複するタイトルエントリを削除しますか?このコードブロックは最大500,000レコードのループで実行されているため、改善を歓迎します。
php - PHP array_multisort が正しく機能しない
$ar1 を $ar2 の降順で並べ替えようとしています。何も起こっていません。
何が足りないの
php - 配列でそのようなソートを行う方法は?
これらは私の配列です:
これは、実際のPHPコードではなく、どのように見えるかを示すためのものです。
さて、私がやりたいのはこれです-配列との合計で配列を並べ替えたいと思い$foo1
ます。しかし、これは私の最後の質問と同じではありません。今回は、配列の値が100未満であるか、配列の値が600未満である場合、上部の近くに配置したくありません。配列の値が100を超え、配列の値が600を超える最後のすべての配列の後ろに配置する必要があります。したがって、次の配列の場合、結果は次のようになります。$foo2
$foo3
$foo2
$foo3
$foo2
$foo3
上記を完全に理解していない場合は、これが理由です。これは、配列$foo2
と同じキーを持つ配列の値が100を超えており、配列foo1
と同じキーを持つ配列の値が600を超えており、合計が最も高いためです。これは、要件を満たす同じインデックスキーを持ち、合計が最も高い次の要素であるため、次の要素です。次は、他のどの行も要件を満たしていないためです。また、他の配列のの同等のキーは、要件を満たしていない行の中で最大の合計を持っています。同じ理由で4位と5位です。$foo1
$foo3
foo1
$foo1
foo2
foo4
foo4
foo3
foo5
私があまり具体的ではないことを願っています、そして何か助けはありますか?
php - 他の2つの配列に基づいて配列を並べ替える
合計3つのアレイがあります
アレイ1
配列2(平均年齢でソート)
アレイ3(人口に基づいてソート)
最初に配列2に基づいて、次に配列3に基づいて配列1を並べ替えるにはどうすればよいですか?次の出力が必要です。
ソートされた配列1
array_multisort
これを達成するために使用しようとしましたが、機能していません。
どんな助けでも大歓迎です。
php - 多次元配列の値が未設定の含まれている配列全体の場合
データベースにアイテムを追加するスクリプトがあります。
現在、次のように配列が作成されています。
アルバム名は常に一意であるとは限らず$album['test']
、ランダムなテキスト(後で使用されます)または「FALSE」(falseと言う場合、つまり、テキスト文字で綴られたfalseという単語)にすることができます。
配列を検索し、名前とテスト値を比較する関数が必要です...アルバム名ごとにいくつかのエントリがあり、いくつかの異なるランダムなテキスト値があり、1つはFALSEと表示されている可能性があります。テスト値がFALSEに設定された配列エントリがある場合、同じアルバム名を持つ他のすべての含まれている配列が削除されます...
したがって、この:
これになります:
私のスクリプト構造全体を知らない限り、少し混乱しているように見えるかもしれないので、これが理にかなっていることを願っています。これが、私が多くの情報を提供した理由です。
php - 多次元連想配列の順序付け
この配列を価格で注文し、キーを変更せずに保持したいと考えています。
これが私が取り組んできたものです。
出力:
配列をソートしますが、キーが変更されます。鍵のラベルを元の状態に保つにはどうすればよいですか?
php - 最初の値の1.5倍の重みで2つの値を持つ配列をソートする方法は?
多次元配列をソートしたい。鍵は1本なので全く問題ありません。
ここで、上記の配列を 2 つの値で並べ替え、value_a
重みvalue_b
をvalue_a
1.5 倍にします。value_a は距離 (例: 300 フィート) で、value_b は価格 (例: 450) です。状況を説明するために...
array_multisort
2 つの値に基づいて配列を並べ替えることができますが、異なる重み付けはできません。
どんな助けでも大歓迎です:)
あなたの努力に感謝します!