問題タブ [array-merge]

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.

0 投票する
1 に答える
506 参照

c - Ruby の Enumerable#zip は内部で配列を作成しますか?

Rubyでは- 2 つの Enumerator をエレガントに比較すると、

zip の問題は、渡した Enumerable に関係なく、内部で配列を作成することです。入力パラメータの長さには別の問題があります

YARV での Enumerable#zip の実装を調べたところ、

次のビットを正しく理解していますか?

すべての引数が配列であるかどうかを確認し、そうである場合は、配列への間接参照を直接参照に置き換えます

すべてが配列でない場合は、代わりに列挙子を作成します

ブロックが指定されていない場合にのみ、配列の配列を作成します

すべてが配列の場合は を使用しzip_ary、それ以外の場合は を使用しzip_i、値の各セットでブロックを呼び出します

ブロックが指定されていない場合は配列の配列を返します。それ以外の場合は nil ( Qnil) を返しますか?

0 投票する
3 に答える
6334 参照

php - 最初の配列と同じキーを持つ 2 番目の配列から値のみを引き継いで 2 つの配列をマージする方法は?

2 つの配列を互いにマージしたいと思います。

マージには、 のすべての要素と、 に対応するキーを持つ の$filteredすべての要素を含める必要があります。$changed$filtered

array_merge($filtered, $changed)の追加のキーも同様に追加し$changedます$filtered。だから本当に合わない。

両方の配列に存在するキーを取得するために使用できることはわかってい$keys = array_intersect_key($filtered, $changed)ますが、これはすでに作業の半分です。

ただし、配列を指定され$changedた配列に縮小できる(ネイティブ)関数があるかどうか疑問に思っています? コールバック関数を使用してチェックできることはわかっていますが、キーを指定できる配列から要素のみを抽出する純粋なネイティブ関数が他にあるのではないでしょうか?$keysarray_intersect_keyarray_filter$keys

array_filterネイティブ関数は多くの場合、コールバックよりもはるかに高速であるため、私が尋ねています。

0 投票する
2 に答える
1737 参照

php - Flatten Array: インデックス、値を配列内の位置と同じに保つ

特定の方法で配列をフラット化しようとすると、少し問題が発生します。

print_rフラット化したい配列のビューは次のとおりです。

私が作成しようとしているのは、上記のインデックスを保持する配列ですが、元のインデックス (ゼロから始まる) と同じように、値は配列内の位置と同じです。

望ましい結果は次のとおりです。

故意に、17 から 20 が行方不明になっています。

私の機能は次のとおりです。

ライン$result = array_merge(array_flatten($index), $result);が問題のようです。戻り値:

ただし、var_dump(array_flatten($index));同じ行で実行すると、マージしたいすべての配列が$result変数に返されます。

array_merge実際にはこれらの配列をマージしていないようです。

私が間違っていることはありますか?ガイダンスの言葉は非常に高く評価されます。ありがとうございました。

アップデート

解決しました!

必要な機能は次のとおりです。

0 投票する
6 に答える
4362 参照

php - 不明な数のパラメーターからのPHP配列のマージ

私は次のようなPHP配列を持っています:

PHPなどでarray_mergeを使用する必要があります。問題は、第1レベルのキーの数が不明であるということです。150アイテムかもしれませんが、わかりません。

キーの数が不明なため、これは機能しません。

ループが必要ですか、それとも何か凝ったものがありますか?

0 投票する
1 に答える
360 参照

php - PHP配列のマージと値による差異

2つの配列でarray_diff()を使用するにはどうすればよいか知りたいです。以下をご覧ください。

上記の配列では、値(DuplicateおよびUnique)があります。プログラムのデフォルトでは、$ Total_valが保存され、値に一意のステータスが示されます。ただし、これらの配列には一意の値がありません。一意の値を取得するには、$duplicatesから減算する必要があります。そして、phpでも同じことをしているので、正確な値は得られません...他の値ではなくIPで減算します。この背後にある主な理由。=のような一意のIPを使用して新しい配列を作成する必要があります

この関数「array_diff_assoc()」からの最終出力を確認できます。ただし、正確な値は表示されません。あなたがIP77.92.74.100を見ることができるように。それは3回繰り返され、それでも独特の状態にあります。

私がこの機能を試したときに私にこれを与えます

ステータスは「すべての値に固有」のままです。それに応じて言及したいと思います。重複IPが利用可能な場合のように、ステータスは重複になります。ユニークの場合と同じです。

このプログラムの提案をお願いします。

ありがとう

ロッド

0 投票する
2 に答える
3614 参照

php - 再帰関数が累積配列(array_merge)を返す方法 (php)

次のようなlist.dataファイル:

次のような別のlist.dataファイル:

したがって、結果は次のような配列になります。

ファイルシステムの指定されたディレクトリを再帰的に検索することを目指していましたが、「list.data」というファイル名を見つけたとき、このファイルを読み取り、正規表現を使用してフィルタリングし、$result. 複数の「list.data」があるため、すべて$resultをにマージしたかったの$final_resultです。しかし、このスクリプトは何も出力しません。関数に何か問題があると誰か教えてくださいfile_list

この php スクリプトを CLI モードで次のように実行しています: php.exe script.php "d:/test/listdir"

0 投票する
7 に答える
20527 参照

php - 配列-PHPの連想配列にマージ

次のように、連想配列でarray_mergeを実行するにはどうすればよいですか。

配列1:

アレイ2:

したがって、これら2つをarray_mergeする必要がありますが、そうすると(デバッグで)次のようになります。

0 投票する
3 に答える
352 参照

php - マルチarray_merge

1つのインデックスに基づく多次元配列をマージするのに少し苦労しています。脳が長すぎてめちゃくちゃになってしまったのかどうかはわかりませんが、これはわかりません。

2つの配列からの2つのインデックスの例は次のとおりです。

「appID」だけでマージしたいのですが。次に、ユーザーに対して別のマージを実行して、別のインデックスに異なるユーザーがいる場合、それらすべてがマージされるようにします。

0 投票する
1 に答える
1159 参照

php - 共通のインデックスを共有する 2 つの配列内の配列をマージする - php

共通のインデックス (教会とオフィス) を持つ 2 つの配列があります。目的の出力を得るには、最初の配列の合計を 2 番目の配列に「マージ」する必要があります (二重線の下に表示されます)。array_merge() でこれを行う方法がわかりません。どんな助けでも大歓迎です!

================================================== ==

0 投票する
3 に答える
4336 参照

php - ユーザー入力を配列に追加

array_merge を使用して、以前に作成した配列にユーザー入力を追加しようとしています。ただし、新しい配列全体を順序付けられていないリストとしてエコーするのに問題があります。ユーザーのエントリは正しく処理されていますが、元の配列は順序付けられていないリスト内で「配列」として表示されています。コードは次のとおりです。