2012-02-25 78 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)存储在单独的阵列中以进行处理。