如何检查数组中是否存在值并使用PHP将值插入数据库

时间:2017-11-25 06:20:26

标签: php mysql arrays

我需要一些帮助。我需要使用PHP和MySQL在用户输入数组中插入值。我在解释下面的表格。

  

db_images:

id         image     subcat_id

这里我需要在上面的表中插入以下json数组值。

$subcat=array(array("id"=>63),array("id"=>64));
$imageArr=array(array("image"=>"abc.png","id"=>63));

这里我需要匹配两个数组,如果$subcat数组中的任何值存在于第二个(i.e-$imageArr)数组中,那么相关图像将插入表中,如果不存在,则表示空白图像值将插入相应的subcat_id。请帮忙。

2 个答案:

答案 0 :(得分:1)

对于subcat数组中的每个元素,您可以迭代imageArr并检查id是否匹配(嵌套循环),如下所示:

foreach($subcat as $s) {
    $flag = false;

    foreach($imageArr as $i) {
        if ($s['id'] == $i['id']) {
            // insert ($i['image'], $s['id']) into db
            $flag = true;
            break;
        } 
    }

    if ($flag == false) {
        // insert $s['id'] into db
    }
}

答案 1 :(得分:0)

您好,您甚至可以在array_columnin_array的帮助下以下列方式进行操作,并减少循环。

<?php

$subcat=array(array("id"=>63),array("id"=>64));
$imageArr=array(array("image"=>"abc.png","id"=>63), array("image"=>"abc.png","id"=>65));

foreach($imageArr as $image){
    /* array_column will do the job with in_array to search in the multi dimension array */
    if(in_array($image['id'], array_column($subcat, 'id'))){
        echo 'exists'. $image['id'].'<br>'; 
    }else{
        echo 'not exists'. $image['id'].'<br>';
    }
}