問題タブ [array-intersect]
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でカンマ区切りの配列からなる「関数引数」を作る
コンマで区切られた配列で構成される関数引数を作成する PHP で問題が発生しています。たとえば、関数の使用を自動化したいと考えていarray_intersect
ます。
この関数は、関数の引数としてコンマで区切られた複数の配列を受け入れます。例えば:
関数で処理する数百の異なる配列がありarray_intersect
ます (つまり、一度に 5 つの配列のうち 3 つ、4 つを関数に渡すことができます)。
私の質問は、関数に渡すことができるカンマ区切りの配列で構成される関数引数を作成するにはどうすればよいarray_intersect
ですか?
これはいくつかのテストデータの例です
手動でこれを行うことができます...
関数の引数は配列コンマ配列コンマ配列などなので、 $vennGraph['Again_and_Again']=array_intersect("put my content here");を生成したいです。
私は応答を読んでいます (ありがとう!) 有望に聞こえますが、私はまだばかげています! ところで、私はPHPバージョン5.3.10を使用しています
ps 以下に示すように、$setsarray にコンマを入れた方が簡単でしょうか?
php - array_intersect() から大文字と小文字を区別する戻り値を取得するにはどうすればよいですか
2 つの配列があり、それを比較して、一致した値を array1 から返す必要があります。以下のコードを参照してください。
私の結果は、
しかし、私の予想される結果は、次のようにarray1から取得したいということです:
php - 動的配列 & Array_unintersect_assoc() || Array_unintersect()
オブジェクトの動的配列と比較しようとすると問題が発生します。
物体:
私がやっていることは、2 人にスキルのセットを割り当てることです。Person A & B は、スキルをいくつでも持つことができます。Skill::Source は、ブール値を介して人物 A からのものであることを識別します。
私の問題は、 Person_A に 5 つのスキルがあり、 Person_B に 2 つのスキルがある場合、 Array_uintersect_assoc() が Person_A の 5 つのスキルすべてをチェックしないことです。
Array_uintersect() を使用すると、呼び出し可能な関数が呼び出されたときに、Person_A::Skills が $Skill_A に、Person_B::Skills が $Skill_B に適切に割り当てられず、スキルがパラメータに割り当てられる場所もランダムに見えます。 Callable 関数内。
ここでわかるように、関数が呼び出される時間の半分は、2 人の異なる人から比較することすらありません。Person_A と Person_B を実際に比較するのは、最後の 2 つの呼び出しだけです。
任意の支援をいただければ幸いです、ありがとう。
php - 無効なオペランド タイプが使用されました: array_uintersect には配列が必要です
可変量の配列で交差を取得する次のコードがあります。
$intersection = call_user_func_array('array_uintersect', $params);
テストデータを使用すると、これは非常にうまく機能します。ただし、実際のデータ (はるかに大きなデータ セットであり、同じコードを使用し、 と で実行している場合) を使用するとhhvm
、3 つ以上の配列を比較するとnginx
次のエラーが発生します。
Invalid operand type was used: array_uintersect expects array(s)
2 つの配列を比較するとうまくいきます。
サーバーでの出力を確認しましたが$params
、間違いなく正しい値です。のすべての要素$params
は配列で、最後の要素は値を持つ配列です:array_compare
これは、カスタム配列比較関数の名前です。
このエラーの原因は何ですか?
アップデート:
HHVM を最新の夜間バージョンに更新し、サーバーのメモリもアップグレードして、それが役立つかどうかを確認しました。しかし、そうではありませんでした。
アップデート:
Laravel Homestead はデフォルトでは使用しないことに気付きhhvm
ました。オンにすると、次のようになります。
私のテストデータでもエラーが再現されました。hhvm をオフにすると、交差は完全に機能します。
php - 2 つの配列のキーの交差を取得するにはどうすればよいですか?
ブローに示すように、2つのアレイがあります
最初の配列のキー (値) が 2 番目の配列 (キー) に一致するテキストが必要です。
期待される結果:
arrays - 一連の配列と交差する最小の配列を見つける
['a', 'b']
、['b', 'c']
およびの 3 つの配列があるとし['d']
ます。これらの 3 つの配列と交差する 4 つ目の配列を最小数の要素で作成するとしたら、得られる配列は['b', 'd']
. 私の質問は...どうすればこの配列を見つけることができますか?
['a', 'b', 'c', 'd']
確かにすべての配列と交差するようですが、それは最小の交差ではありません-です['b', 'd']
。
何か案は?
php - 複数の配列で発生するすべての値を取得するにはどうすればよいですか?
PHPで配列のすべての一致をクロスチェックし、結果を配列に保存することは可能ですか? `array_intersect() を見つけましたが、この関数は最初の配列の結果しか返しません。値が存在するすべての配列にある場合のみ。
入力例:
ここで、一致を返す配列が必要です。この例では、次のようになります。
「3」は配列 1 と配列 4 にあり、結果の「6」は配列 2 と配列 3 にあるためです。
複数の配列にある任意の一致。ヒント/アイデアはありますか?