Find common values ​​in an array

Hi I have two arrays

$arrays = Array ( [0] => 2 [1] => 3 ) ;

and

$result_array = Array ( 
  [0] => Array ([0] => 1 
                [1] => sa 
                [2] => asa 
                [3] => sas 
                [4] => asa
                [5] => ada
                [6] => Y ) 
  [1] => Array ([0] => 2 
                [1] => TEST1
                [2] => TEST1
                [3] => TEST1
                [4] => TEST1 
                [5] => Coverage
                [6] => Y ) 
  [2] => Array ([0] => 3 
                [1] => TEST2
                [2] => TEST2
                [3] => TEST2
                [4] => TEST2
                [5] => Coverage
                [6] => Y ) );

      

What I am trying to achieve is to get the whole array from $ result_array which should contain the values ​​of the $ arrays

I tried $new_array = array_intersect($arrays,$result_array);

and

foreach($result_array as $array)
  {
for($i=0;$i<count($arrays);$i++)
{
    echo $arrays[$i];
    $key = array_search($array, $arrays[$i]); 
    $result = $array[$key];
}

break;
  }

      

The second one which gives me this error Warning: array_search() [function.array-search]: Wrong datatype for second argument in D:\xampp\htdocs\WEB_1\index.php on line 96

Any other way to achieve this?

+3


source to share


3 answers


Simple as π



$arrays = array(2,3);
$result_array = array( 
  0 => array(0 => "1", 
                1 => "sa",
                2 => "asa", 
                3 => "sas", 
                4 => "asa",
                5 => "ada",
                6 => "Y" ), 
  1 => array(0 => "2", 
                1 => "TEST1",
                2 => "TEST1",
                3 => "TEST1",
                4 => "TEST1", 
                5 => "Coverage",
                6 => "Y" ), 
  2 => array(0 => "3", 
                1 => "TEST2",
                2 => "TEST2",
                3 => "TEST2",
                4 => "TEST2",
                5 => "Coverage",
                6 => "Y" ));
$common = array();

foreach ($result_array as $arr) {
  foreach($arrays as $search){
    if(in_array($search, $arr)){
      $common[] = $arr;
    }
  }

}

print_r($common);

      

+1


source


Use like this .... change the parameters in the array_search () function.



$result = array();
foreach($result_array as $array)
{
    for($i=0; $i<count($arrays); $i++)
   {
       echo $arrays[$i];
       $key = array_search($arrays[$i], $array); 
       $result[] = $array[$key];
   } 
}

      

0


source


try under code

$new_array=array();
            foreach($arrays as $key=>$val)
            {
                if(array_key_exists($val,$result_array))
                {
                    $new_array=$result_array[$val];
                }
            }

      

0


source







All Articles