【发布时间】:2019-03-05 15:02:01
【问题描述】:
我正在开展一个项目,该项目将信息从外部 API 保存到数据库中。这个 API 只显示最新的可用信息,所以我需要检查这个 API 并与我自己的数据库信息进行比较,看看是否有新的变化。
之前,我通过手动比较每个值来做到这一点:
if($externalapi['item'] !== $mydatabase['item']) {
// changes detected!
}
现在我正在制作这个项目的 V2,我觉得这不是正确的方法,我应该采取不同的方式。
我考虑过对外部 API 输出和我自己的数据库输出进行 MD5 处理,并比较这两者。
if(md5($externalapi) !== md5($mydatabase)) {
// changes detected!
}
但我不确定这有多可靠。
最好的方法是什么?
【问题讨论】:
-
如果您比较关心数据安全,建议不要使用此功能。您可以在这里查看php.net md5
-
除非您的数据结构非常复杂,否则比较所有键的值的简单循环可为您提供 100% 准确的解决方案,并且应该足够快以满足您的目的。