0

我有一个 MYSQL 表来记录 Web 应用程序的状态日志更新。

有几个字段将被填充,但并不是所有字段都会一次更新。

我的计划是提取最后一个日志条目(如果存在),并将其与传入的新数据进行比较。如果新值中的任何内容为空白,它将继承先前设置的值。

我应该提到,这是为了允许查看更改并在更新日志时跟踪它们。

所以我想知道解决这个问题的最佳方法是什么。现在我的计划是提取我以前的值并循环通过将其与$submittedData数组进行比较(使用 if 语句)。当$submittedData具有与先前数据不同的值时,它将从 中获取值$submittedData。但是,如果 in 的$submittedData值为空,它将保留前一组中的值。

我知道 php 中有 4 个不同的 array_diff 函数,但不确定我是否应该使用它们,这是否对我有帮助,或者我是否过度思考。想法是编写一个函数,我可以将两个数组传递给它并让它返回一个具有相同结构(关联)的数组。

4

2 回答 2

2

我很确定array_merge可以解决您的所有问题。

于 2013-04-12T20:00:00.323 回答
1

您可以简单地添加数组(它也应该比 更快array_merge())。所以基本上,如果你有$previousData$submittedData你可以简单地做:

$finalData = $submittedData + $previousData; //It is *not* commutative

$previousData第一个数组中不存在的所有值将与所有值合并到$finalData一起$submittedData

于 2013-04-12T20:13:15.450 回答