Rakesh
Rakesh

Reputation: 2790

Find common values in 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 get all array from $result_array which should contains values of $arrays

I have 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 giving 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?

Upvotes: 2

Views: 3207

Answers (3)

Ripa Saha
Ripa Saha

Reputation: 2540

try below code

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

Upvotes: 0

HamZa
HamZa

Reputation: 14931

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);

Upvotes: 1

Imran Khan
Imran Khan

Reputation: 2401

Use like this.... swap the parameters in 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];
   } 
}

Upvotes: 0

Related Questions