
下記のような連想配列が2つあります。
それらの配列の3つ目の電話番号(070-0000-000等)のみを比較して一致する連想配列を配列にして出力するようなプログラムを考えています。
連想配列同士を比較する方法が見つからなかったため、どのように書いたら良いのかわかりません。
ご教授お願い致します。
【既存の連想配列】
<?php
$first = array(
'test_1' => array(
0 => '山田太郎',
1 => 'ヤマダタロウ',
2 => '090-0000-0000',
),
'test_2' => array(
0 => '田中次郎',
1 => 'タナカジロウ',
2 => '080-0000-0000',
),
'test_3' => array(
0 => '佐藤三郎',
1 => 'サトウサブロウ',
2 => '070-0000-0000',
),
);
$second = array(
'test_1' => array(
0 => '鈴木四郎',
1 => 'スズキシロウ',
2 => '050-0000-0000',
),
'test_2' => array(
0 => '佐藤五郎',
1 => 'サトウサブロウ',
2 => '070-0000-0000',
),
'test_3' => array(
0 => '安藤六郎',
1 => 'アンドウロクロウ',
2 => '000-0000-0000',
),
);
?>
【比較後の配列(例)】
$result //に結果を格納
この$resultの中身は、 array('佐藤五郎','サトウサブロウ','070-0000-0000'); のような感じです。
No.1ベストアンサー
- 回答日時:
$result = array();
$first_numbers = array_flip(array_map('end', $first));
foreach ($second as $item) {
if (isset($first_numbers[$item[2]])) {
$result[] = $item;
}
}
http://codepad.org/PDODnMeE
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CArrayのソート
-
forとかで連番の変数を一気に格...
-
読み(あ行~わ行)ごとに分け...
-
プルダウンメニューにDBの内容...
-
postgresql関数をつかったレコ...
-
Smartyについて
-
【Smarty】foreach関数やsectio...
-
ネストが深い時のforeachはどう...
-
○番目から○番目までの取り出し...
-
foreachで上限回数指定方法また...
-
マッチング処理(1:N)
-
$_SESSIONに二次元配列を使える...
-
foreachの値をメール本文に表示...
-
PHPにてクラスを配列にすること...
-
php Undefined variableエラー
-
行数が30万件ほどあるCSVから、...
-
String だと「 ByRef引数の型が...
-
zend_dbについて
-
エラーメッセージ(無効な間接...
-
別ファイルの構造体の値を読み...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語の配列をPush(追加)する...
-
cakephpでのトランザクション処...
-
行列
-
読み(あ行~わ行)ごとに分け...
-
特定の文からメールアドレスの...
-
c言語 単位行列
-
STLのvectorで作った配列をメン...
-
多次元配列をエンコードする関...
-
2次元配列を1次元配列にするには
-
phpで、配列の値が意図せず変わ...
-
連想配列に追加ってできるン?
-
Delphiで別unitで宣言した「TAr...
-
配列の並びについて
-
PHPでCSVを出力するさいに、ル...
-
正規表現
-
pascalについて知りたいのです...
-
ファイルの書き込みについて教...
-
文字列の取得について
-
文字列の並び替え
-
配列の添え字が小数だとどうなる?
おすすめ情報