将用户与数组之间的数组与数据库PHP

时间:2016-08-29 08:23:18

标签: php arrays

我正在努力添加产品模块。

用户可以上传csv文件来添加产品。如何创建一个系统,如果db中有现有产品,它将跳过产品,然后再次检查另一个产品。如果数据库中没有此类产品,则产品将添加到数据库中。

所以,让我们说

//Products in db 
//Code       //Description
1            Item 1
2            Item 2
3            Item 3

//Products in user input
//Code       //Description
1            Item 1 
3            Item 3
4            Item 4
5            Item 5

从上面的例子中,我如何创建一个只将第4项和第5项添加到数据库中的系统?

这是我的$ db_products数组,其中包含db

的产品
foreach($db_products as $prod){
  $products[] = array(
    "code" => $prod['code'],
    "description" => $prod['description']
  );
}

这是我的$ products_array,其中包含用户输入

foreach($products as $v){
    $products_array[] = array(
        "code"        => $v['code'],
        "description" => $v['description'],
    );
}

我用这段代码比较

foreach($products_array as $prod){
  foreach($db_products as $db_prod){
    $result = array_diff($db_prod, $prod);
        var_dump($result);
  }
}

但为什么它会在数组之间返回相同的数据?

我在这里想念的是什么?谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用递归函数来检查多维数组$prod中是否存在来自$products_array的{​​{1}},如下所示:

$db_products