比较2个数组并更新一个数组,使其始终与另一个数组相同

时间:2018-08-07 18:28:24

标签: php sql-server moodle moodle-api

我有2个数组,一个数组包含数据库中的值,另一个数组包含当前选中的复选框。我想将两者进行比较,并希望根据当前选中的复选框列表($ page_view_domains)更新或删除数据库值列表($ db_domains)中的记录。这样,包含数据库值的数组始终取决于选中的复选框列表。

$db_domains = array($domain->id); 
$page_view_domains = array($form_entry->{"domain_$domain->id"});
$results = array_diff($db_domains, $page_view_domains); 

我将差异存储在$ results变量中,但是不知道该怎么处理。

1 个答案:

答案 0 :(得分:0)

在这种情况下,

array_diff将为您提供您需要删除的值,因为这是数据库中的内容,但表单值中没有。因此,您只需迭代此数组并删除值即可。

向后$tocreate = array_diff($page_view_domains, $db_domains);施加

array_diff将为您提供您需要在数据库中创建的值。因此,您可以对其进行迭代并创建记录。

据我所知,其他记录应保持不变,因为它们只是id,而不是结构