For Want Of A Better Word

PHPで配列間の共通値だけ取得したい(絞り込み検索をしたい) array_intersect array_diff

      2015/04/19

根っこは絞りこみ検索をしたい。

データの構造が、たとえば col1=1,2,3,4と col2 = a,b,c,dのような値を取る組み合わせの場合。

col1 col2
1 a
1 b
1 c
1 d
2 a
2 b
2 c
3 a
3 b
4 a

こんな時に、col2が 「aとbとc」をもつcol1の値が欲しい。という場合。
ここでは 期待する結果は「1,2」

これSQL1発でやるとしたら、その数だけのサブクエリを発行しなきゃいけなくなって、なんかすごい気持ち悪いなー。。と思ってプログラムで何とかする方法は無いかと探していた。

そもそも、データ構造がうまくないというのはあるのだけれど。

配列間の値 or keyが一致しているもの、(一致してないもの)を取得するコマンドがあったので、これで行けるかなととメモ。

【参考URL】
(一致したものを取る)
array_intersect (値)
array_intersect_key (キー)
array_intersect_assoc (値とキー)

(一致しないものを取る)
array_diff
array_diff_key
array_diff__assoc

 - 未分類

  関連記事

no image
ベーシック認証のhtpasswdのアルゴリズムについて

通常はDESアルゴリズムらしい。 メモ ・最初の8文字しか影響しない。 ・復号化 …

no image
関数型プログラミング

すべての計算は関数の評価によって行われる。 ラムダやクロージャーはここから発生し …

no image
DataListコントロールのデータ連結

オブジェクトの集合に対する反復処理をサポートするIEnumerableインターフ …

no image
【Linux】ログローテート設定サンプルlogrotate

長めの62週に設定。 secure(ssh) [crayon-58455f368 …

no image
メモ

読む備忘 もう、新人と言える年じゃないけど、よくあてはまるー。 ペアプログラミン …