php in_array不比较现有值

时间:2017-02-14 05:15:51

标签: php arrays

Array1 ( [0] => 21 ) 
Array2 ( [0] => 22 [1] => 22,20,21 [2] => 16 ) 

找不到匹配

如何比较: - [0]=>21 在array2中,array2中有21个,但它显示匹配未找到消息

3 个答案:

答案 0 :(得分:1)

$array1 = array( '21' );
$array2 = array( '22','22,20,21','16');

foreach ($array1 as $key=>$value){
    foreach ($array2 as $key2=>$value2){
        $temp = explode(',', $value2);
        if(in_array($value, $temp)){
             echo $value.' exist in both arrays at Index '.$key2.' of Array2 and '.$key.' of Array1';
        }
    }
}

答案 1 :(得分:1)

  嘿@babul shrestha你可以这样做:

<?php
$arr1 = array(0 => 21);
$arr2 = array(0 => 22, 1 => "22,20,21", 2 => 16);
$newarr2Str = "";
foreach($arr2 as $val){
    $newarr2Str .= $val.",";
}
var_dump(in_array("21", array_values(array_filter(explode(',', $newarr2Str))))); // it will give true

答案 2 :(得分:0)

 <?php
   $a= array('0'=>21,'1'=>22,'2'=>23,'3'=>24,'4'=>25);
   $b=array('0'=>23,'1'=>21);
   foreach($b as $c){
    if(in_array($c,$a)){
     echo $c;
      }
   }

  ?>