【问题标题】:How to check one json array value is present or not in another array using PHP如何使用PHP检查另一个数组中是否存在一个json数组值
【发布时间】:2017-08-21 11:21:48
【问题描述】:

我需要一个帮助。我需要验证天气一个 json 数组值是否存在于另一个数组中或不使用 PHP。我在下面解释我的代码。

$img=array(
    array("iamge"=>"1234_asd.jpg"),
    array("iamge"=>"1235_ase.jpg"),
    array("iamge"=>"1236_asf.jpg")
);
$imgArr=array(
    array("iamgename"=>"1234_asd.jpg"),
    array("iamgename"=>"1235_ase.jpg"),
    array("iamgename"=>"1236_asf.jpg"),
    array("iamgename"=>"1237_asg.jpg")
); 

这里我有两个数组。我需要检查$imgArr 数组中的任何值是否存在于$img 数组中。如果任何值不存在,它将返回false with that image name,如果全部存在,它将返回omlu true。请帮帮我。

【问题讨论】:

  • 您的问题中没有JSON
  • 该方法显然是遍历$imgArr 并搜索$img 内的每个元素(例如使用array_search())。您将整体结果存储在一个变量中,该变量在迭代过程结束时输出。

标签: php arrays json


【解决方案1】:
function bjsearch($img, $seachimg){
    $result = true;
    if(!in_array($seachimg, $img)){
       $result = false;
    }
    return $result;
}


$found = true;
$image_name = '';
foreach($imgArr as $k=>$im){
    $seachInArr = isset($img[$k]) ? $img[$k] : array();
    $res = bjsearch($seachInArr, $im['iamgename']);
    if($res === false){
       $found = false;
       $image_name = $im['iamgename'];
    }
}
var_dump($found, $image_name);

工作示例:https://3v4l.org/vkAF4

【讨论】:

    【解决方案2】:
    $match = array();
    foreach ($imgArr as $imgArray){
    foreach ($img as $imgg){
    
        if($imgArray['iamgename'] == $imgg['iamge']){
            $match[]=$imgArray['iamgename'];
        }
      }
    }
    
    print_r($match);
    

    【讨论】:

    • @zeljka : 它打印空白数组。
    • 抱歉我的错误,我现在修好了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-09
    • 1970-01-01
    相关资源
    最近更新 更多