phpについて質問です。


顧客リストAから、リストBに含まれる顧客を取り除いて、
新しいリストA’を作りたいのです。キーはメールアドレスです。

何かちょうど良い関数はありませんか?
もしなければ、どのような書き方だと早いでしょうか?

また、もしこの種の名寄せ作業のサンプルスクリプトがあれば、
是非ご紹介いただければ幸甚です。

回答の条件
  • 1人2回まで
  • 登録:2009/05/16 14:35:35
  • 終了:2009/05/23 14:40:03

ベストアンサー

id:pahoo No.1

pahoo回答回数5960ベストアンサー獲得回数6332009/05/16 14:49:34

ポイント60pt

メールアドレスをキーとした2次元配列を用意し、それに対して、関数array_diff_keyで差分をとるという方法をご紹介します。PHP5以上で動作します。

<?php
mb_internal_encoding('UTF-8');

//リストA
$a['tanaka@hoge.com']['name']  = '田中一郎';
$a['tanaka@hoge.com']['phone'] = '111-111-1111';
$a['suzuki@hoge.com']['name']  = '鈴木太郎';
$a['suzuki@hoge.com']['phone'] = '222-222-2222';
$a['sato@hoge.com']['name']    = '佐藤花子';
$a['sato@hoge.com']['phone']   = '333-333-333';

//リストB
$b['tanaka@hoge.com']['name']  = '田中一郎';
$b['sato@hoge.com']['name']    = '佐藤花子';

//$a と $b の差分を配列 $c へ
$c = array_diff_key($a, $b);
print_r($c);
?>
id:freewriter

いつもありがとうございます!何とかなりそうです。

2009/05/16 16:20:30
  • id:kn1967
    顧客のアドレスなどは、データベース化してないのかしら?
    それ以前に、平文で管理してそうで怖いけど・・・大丈夫?
  • id:freewriter
    自分のPC内でやってるので、大丈夫です。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません