PHP两个数组-如果它们不同,则插入-否则更新

时间:2018-09-02 14:30:35

标签: php arrays

我有一些数据,一个来自CSV文件的数组,另一个数组包含帖子中字段的值。

使用此数据,我想检查该字段的值是否在CSV中,然后更新该字段,如果没有,则将字段插入到帖子中会有区别。

$csv_data数组比$vrm数组具有更多的字段。我想我需要一个函数来说明,如果element在数组中,那么我不确定该怎么做。

这是我到目前为止所拥有的:

$vrm = [];
foreach($vehicles as $vehicle) {
    $vrm[] = $vehicle->REGISTRATION;
}

$difference = array_diff($csv_data, $vrm);

if(empty($difference)) {
    echo "Need to Update";
} else {
    echo "Need to insert";
}

有人能协助我解决这个问题或为我指明正确的方向吗?

**编辑**

数组$vrm是:

Array ( [0] => CV56IPG, 
        [1] => RT56KLP, 
        [2] => AB12HNJ)

数组$csv_data是:

Array ( [0] => Array ( 
                    [REGISTRATION] => CV56IPG 
                    [MAKE] => Volkswagen 
                    [MODEL] => Polo 
                    [DERIVATIVE] => 1.2 Match 5dr 
                    ) 
        [1] => Array ( 
                    [REGISTRATION] => AB12HNJ 
                    [MAKE] => Volkswagen 
                    [MODEL] => Polo 
                    [DERIVATIVE] => 1.2 Match 5dr 
                    )
    )

1 个答案:

答案 0 :(得分:0)

我不太了解你的话。

我想,如果您有$ vrm唯一ID,如果您使用haspMap,就可以这样做。

{
    vrm_id1: vrm_data1,
    vrm_id2: vrm_data2
}

如果您插入或更新新数据。

当vrm_id不存在时=>插入。

当vrm_id存在时=>更新。