Reputation: 2790
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
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
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
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