2012-02-25 10 views
1

PHPで2つの2D配列を比較しようとしていて、私の頭がすべての再帰を傷つけている - これはおそらくそれに慣れた人にとっては明らかです。2つの(潜在的に異なるサイズの)2次元配列を比較するPHP

私は$ submittedArray2Dと$ dbArrayと呼ばれるようになり2つの2Dアレイを、持っている:$ dbArrayがデータベースにすでにあるものを保持している間

{ 
    [0] => { 
     [0] => 'name' 
     [1] => 'sectors' 
     [2] => 'address' 
     [3] => 'url' 
    } 
    [1] => { 
     [0] => 'name' 
     [1] => 'sectors' 
     [2] => 'address' 
     [3] => 'url' 
    } 
    ...  
} 

$ submittedArray2Dは、ユーザの入力から来ています。

これらの値を比較して、値が$ submittedArray2Dに更新されているかどうかを確認し、それに応じて変更を$ dbArrayに保存します。

ジオコーディングのための別の関数に変更されたアドレスを渡したい場合、その結果は別のデータベースフィールドに格納されます。ここで、キーは$ dbArrayの同じエントリを参照します($ geocode [4]は$ dbArray [4]など)。

foreach文を順番に実行しようとしましたが、2つの配列が順番に並んでいないため、配列の途中からエントリの1つが削除された場合、これが解消されます。私は、各配列エントリのIDのいくつかの種類が意味をなさないかもしれないのだろうかと思っていますが、どこから始めるべきかわかりません。

すべてのアイデアやポインターをお待ちしております。

答えて

0

最後に、各配列要素の横に一意のIDを格納することで管理しました。ループしてそのIDがコンパレータ配列に存在するかどうかを確認し、アドレスが変更されたかどうかを確認します(IDとともに)変更を別の配列に格納して処理します。

関連する問題