問題タブ [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.

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

php - PHP は 2 つの配列を交差させ、1 つの項目を置き換えます

PHP array_intersect 関数を使用して交差させたい 2 つの多次元配列がありますが、これを出力する前に、配列の 1 つの要素のみを置き換える必要もあります。

例:

array_intersect 結果:

期待される結果:

これは、代わりに array_uintersect を使用して行うことができますか?

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

php - 2 つの展開された php 配列を比較してオーバーラップを見つける問題

2 つの展開された文字列 (クエリの結果) の結果を比較していますが、array_intersect を使用して配列のオーバーラップを見つけると、残念ながら、各配列で最初に来るタグのオーバーラップしか受け取りません...たとえば、2 つの配列が次のようになっているとします。

配列 1:

配列 2:

Array_Intersect は一致としてtag_aのみを返します。array_intersect の動作が、tag_a と tab_b を返すことを期待していました。

コードの後半でわかるように、次に一致するもの (両方の配列に存在するタグ) を使用して、配列contactarrayを構築しています。配列を作成できましたが、期待した値が含まれていません (例: tag_b)。

編集 contactarray を印刷するいくつかのテストを実行し、それらの連絡先にさまざまなタグ文字列を適用しました。他のいくつかの連絡先に tag_a があるにもかかわらず、(配列内で) 最初に tag_a を持つ連絡先のみが返されます。配列。考え?

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

php - フォームの人間が読める名前を取得する

私は過去4時間、問題を次々と抱えてこれに取り組んできました。ようやくほとんどの問題が解決した今、最終的な問題の解決策を見つけることができないようです。

問題: 学生に電子メールを送信する必要があります (電子メールは DB に保存されます)。電子メールには、リスト アイテムを含む順序付けられていないリストが必要です。その部分は簡単な部分でした (html メール)。私が今直面している問題は、値ではなく、フォームの実際の名前を取得したいということです。

値="1" 値="2"

それはフォームが何であるかについて学生に多くの情報を提供しません.

これらは私の入力フィールドです:

値が単なる数値であることに再び気付いた場合は、DESCP と DESNAP のフォームの名前を実際に取得したいと思います。

これは私が試したものです:

ここからどこへ行こうか、かなり迷っています。うまくいけば、あなたたちは理解しています。

私が考えられる唯一のことは、

foreach

チェックボックスがオンになっているすべてのフォームをループし、次にクエリでループします

select * forms where form_id = (どのフォームがチェックされたか)

それから

戻る

フォームの実際の名前。

しかし、繰り返しになりますが、これが適切な解決策になるかどうかはわかりません。皆さんが渡すことができる情報を前もって感謝します。

編集1:

学生が受け取ったフォームをデータベースに保存できるように、チェック ボックスは配列にする必要があります。私の他の質問を見てください。

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

php - PHP再帰配列交差キー文字列値のトリップ

PHP Catchable fatal error: Argument 2 passed to NUI::recArrInterKey() must be an array, string given現在、多次元配列 (グレー/ホワイト リスト) を再帰的に交差させようとするとエラーが発生します。

$foo['contact']['im']['provider']なんらかの理由でセクションにつまずいているようですが、わかりませんか?

私が使用しているホワイトリスト配列 ($array2) の例を次に示します。

そしてその方法

これは$array1

これはリターンとして期待しています

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

php - 配列キーを比較して MySQL ステートメントを作成する方法

私たちが構築しているユーザーシステムでは、クライアントは私たちが提供する多くの製品を販売することができます。これらの製品の数はそれほど多くはありませんが、可能性があります (また、新しい製品を頻繁に追加する予定です)。ユーザーが管理ポータルにログインすると、提供されているすべての利用可能な製品のリストから、販売したい製品を有効または無効にすることができます。

チェックボックスとチェックボックスname="products[]"配列を使用して、「有効な」製品の値を受け入れるようにフォームを作成しました。この部分はすべて正常に動作します。この問題は、入力されたデータに最適な INSERT / UPDATE メソッドを構築しようとしているときに発生します。値は、顧客が後で (当社から) 新製品を提供され、その製品を有効にすることを選択した場合に挿入されます。更新は、対応する製品のチェックボックスをオンまたはオフにするだけで発生し、その製品を有効または無効にします。

しかしINSERTUPDATE if a product is currently disabled現在DBで有効に設定されている場合、製品を「無効」に正しく更新するための配列を比較することはできません。

前述のように、ここの IF と最後の elseif は正常に機能しますが、英語での中間のステートメント: 「ユーザーが元々アクティブに設定されていた製品のチェックを外した場合、その特定の製品 ID を無効にする」は正しくありません。

アドバイスをいただければ幸いです。

更新 1: 最初の考え

現在のすべての新しい配列を構築し、現在アクティブに設定されている現在の製品 (更新時) を見つけることが、うまくいく可能性がある方法だと思います。$_SESSION['productsOffered']次に、新しいアレイをアレイと比較して、$_REQUEST['products']除外された (または本質的にチェックされていない) 製品を特定し、適切な製品を更新することができます。

この方法はうまくいくと思いますが、非常にずさんなようです。Update2: これも現在の foreach リクエストの外で行う必要があります。これは、非アクティブ化された製品が REQUEST に存在しないことが明らかであるためです。

アップデート 3

リクエストにより、配列からのいくつかのサンプル データは次のとおりです (これは非常に単純なデータであり、「本物」に近いものです)。

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

php - 連想配列内の 1 つ以上のキーと値のペアを照合して、配列の行をフィルター処理します

仮定する、

次に、次のように行をフィルタリングします。

これにより、 の行が返され$data[2]ます。

戻り$data[1]ます。

ここで の順序は、要素 とkeysの両方で異なる場合があります。$data$rules

で試しましarray_intersectたが、うまくいきません。

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

php - 交差する配列のリスト

と呼ばれるいくつかの配列があります

$array[1]、$array[2] など。

$array[1] は array(1,2,3) のようなもので、$array[2] は sth です。array(2,3,4) のように、すべての配列に含まれる alle 番号が必要になりました。

使いたい

このため。

しかし、私はこの配列を 2 つ、3 つ、または 4 つ持っています。のような文字列を作成することは可能ですか?

そして作る

?

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

php - 両方の配列が多次元の場合、配列 A に配列 B のすべての項目が含まれているかどうかを確認します

両方の配列が多次元である場合、つまり異なる変数タイプを含むことができる場合、配列Aに配列Bのすべての項目が含まれているかどうかを確認したい(他の項目を含む場合がありますが、すべてを含む必要があります) 。

私はたくさん見てきました(特にthisthisthisthisthisおよびthisthisthisおよびthisも)。PHPドキュメントを読みました。私がチェックしたものはすべて、「配列から文字列への変換」通知で失敗します。特に、array_intersect()またはを使用する場合array_diff()

私は厳密なエラー チェックを使用しているため、通知は実際にはスクリプト全体の実行をさらに保留するものであり、一般的に好きではなく、避けたいものです。この場合は可能ですか?

私の配列Aは次のとおりです。

私の配列Bは次のとおりです。

array_intersectそれで、通知を受けずに異なる変数型を含む多次元配列で使用できる場合、私ができる方法はありますか?