I have a multiple array, like the follow example.
$array = array (
\'role_1\' =>
array (
0 => \'value_2\',
1 =>
You should be able to do
call_user_func_array('array_intersect', $array_of_arrays)
This will pass each element of your array of arrays as an argument to array_intersect
, which takes a variable number of arrays as arguments and returns their intersection.
array_intersect work for this:
$data = array (
'role_1' =>
array (
0 => 'value_2',
1 => 'value_3',
),
'role_2' =>
array (
0 => 'value_1',
1 => 'value_2',
),
'role_3' =>
array (
0 => 'value_2',
1 => 'value_3',
)
);
$result = array_intersect($data['role_1'], $data['role_2'], $data['role_3']);
print_r($result);
result :
Array ( [0] => value_2 )
You can use array_intersect to cover the dynamic $data
as such:
$data = array (
'role_1' =>
array (
0 => 'value_2',
1 => 'value_3',
),
'role_2' =>
array (
0 => 'value_1',
1 => 'value_2',
),
'role_3' =>
array (
0 => 'value_2',
1 => 'value_3',
)
);
$result = call_user_func_array('array_intersect', $data);
call_user_func_array will help spread the elements of your array as parameters inside array_intersect
.