我正在尝试比较PHP中的两个2D数组,并且我的头部受到所有递归的伤害 - 这对于习惯它的人来说可能是显而易见的。
我有两个看起来像这样的2D数组,名为$ 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 :(得分:0)
我最后通过在每个数组元素旁边存储一个唯一ID来管理它,也就是说可以循环检查比较器数组中是否存在该ID,然后检查地址是否已更改,如果是这样的话在单独的数组中进行更改(以及ID)以进行处理。