0

I have five arrays and a search for which user can do search randomly. So for among those five sometimes there may be value for two arrays, three arrays or five arrays and whatever.

So When I intersect I am not be able to check which are empty so that it always returns an empty array.

$full_ids = array_intersect($g_arr, $c_arr, $k_arr, $m_arr, $p_arr);

Actually I need to check and make this dynamic like if there are values for $g_arr, $c_arrthen the above operation will be applied with these two.. like

$full_ids = array_intersect($g_arr, $c_arr);

I don't understand how to check that? Any help w'd be appreciated..thanks

Shankar Narayana Damodaran
  • 68,075
  • 43
  • 96
  • 126
Codegiant
  • 2,110
  • 1
  • 22
  • 31

1 Answers1

1
$tempArray = [];
if (count($g_arr) >0) $tempArray[] = $g_arr;
if (count($c_arr) >0) $tempArray[] = $c_arr;
if (count($k_arr) >0) $tempArray[] = $k_arr;
if (count($m_arr) >0) $tempArray[] = $m_arr;
if (count($p_arr) >0) $tempArray[] = $p_arr;

$intersect = call_user_func_array('array_intersect', $tempArray);
Mark Baker
  • 209,507
  • 32
  • 346
  • 385