如何解决如何在PHP中同步两个数组?
| 对于一些背景信息,我正在尝试同步两个日历(其中一个是Google日历) 我正在使用这两个API从这两个日历中获取所有事件信息,并将它们放入自己的数组中。这样就让我拥有: GoogleEventArray OtherEventArray 从长远来看,我想在两个阵列之间进行双向同步。但是,为了简单起见,我只想将OtherEventArray保留为主,将GoogleEventArray保留为从属。 我不想每次运行脚本并从OtherEventArray更新时都删除整个Google日历,因为此脚本将在每分钟左右运行的cron作业上保持google日历最新。我只需要检查数组是否有更改或需要的添加。 所以我只需要一些想法来同步这两个阵列的最佳方法? 编辑 也许更好的方法是找到这两个数组之间的不同之处,并将其添加到第三个数组中,这样我就可以使用它来将更改保存到Google日历中。 因为如果我只是将两个数组合并为一个数组,我仍然必须将所有尚未更改的数据保存到Google日历中,从而导致不必要的工作量。 另外,这是我的两个数组,其中包含数据,因此您可以了解可以更改的内容,我需要检测标题,日期或说明中的那些更改 http://snipt.org/xXW解决方法
你试过
array_combine
了吗?
您还可以进行数组加法:
$arrFirst = $arrSecond + $arrFirst
, 看一下array_merge
,array_merge_recursive
和array_uintersect
函数系列。您需要使用哪个取决于这些数组的精确结构。
, 如果您做类似的事情怎么办
$a1[md5(\"event\")]
$a2[md5(\"event\")]
其中\“ event \”实际上是您为事件创建的某些字符串,例如\"event name\".\"event datetime\"
如果两者都使用相同的原理,那么当您通过合并方法或简单的循环事件进行合并时,已经存在的事件将简单地相互覆盖,或者甚至可以检查是否已经存在。
不过,有一件事是,这对于单向同步很有用。如果您将标题或事件的某些内容甚至事件本身更改为不同的日期,并且发生冲突,它将被覆盖。但是,您可以使通知甚至检测到事件已被移动/编辑变得更加智能。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。