2012-02-25 76 views
1

我想比較PHP 2個二維數組和我的頭與所有的遞歸傷害 - 這可能會是顯而易見的人誰是習慣了。PHP比較兩個(可能是不同尺寸)的二維數組

我有兩個二維數組看起來像這家名爲$ submittedArray2D和$ dbArray:

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

$ submittedArray2D來自用戶的輸入,同時$ dbArray持有的是已經在數據庫中。

我想對它們進行比較,看看是否有任何價值都在$ submittedArray2D進行了更新,並相應修改保存到$ dbArray。

我也希望將任何更改的地址傳遞給一個單獨的地理編碼函數,其結果將存儲在另一個數據庫字段中,其中鍵引用$ dbArray中的同一條目(所以$ geocode [4]指例如$ dbArray [4])。

我已經嘗試了一些的foreach語句要經過陣列順序,但這種分解,如果其中一個條目已經從陣列中刪除,因爲這兩個數組不再按順序排列。我想知道每個數組條目的某種ID是否有意義,但我不知道從哪裏開始。

任何想法或指針將不勝感激!

回答

0

我最後通過在每個數組元素旁邊存儲了一個唯一的ID來管理它,也就是說可以循環並檢查比較器數組中是否存在該ID,然後檢查地址是否已更改,如果是這樣將更改(以及ID)存儲在單獨的陣列中以進行處理。