PHP-比较和提取常见的数组元素 [英] php - comparing and extracting common array elements
本文介绍了PHP-比较和提取常见的数组元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我一直在尝试比较多维数组中内部数组的值,并将这些公共值提取到另一个数组中.我已经尝试过将 array_intersect
与 foreach
循环一起使用,但这没有给我结果,这里的内部数组数量是动态的,并且是由其他函数生成的.在比较多维数组的数组元素之前,有人尝试过吗?
I have been trying to compare values of inner arrays from a multidimensional array and extract those common values into another array.
I have tried using array_intersect
along with a foreach
loop but this is not giving me result, here the number of inner arrays is dynamic and generated from a different function. Have anyone tried before comparing array elements of a multidimensional array?
我的阵列:
$days_filter = array(
[0] => array(
'00:00',
'01:30',
'02:30',
),
[1] => array(
'00:00',
'01:30',
'03:30',
),
[2] => array(
'00:30',
'01:30',
'02:30',
),
[3] => array(
'00:30',
'01:30',
'04:30',
),
);
$res_arr = $days_filter[0];
foreach ($days_filter as $filter) {
$res_arr = array_intersect($res_arr, $filter);
}
预期的输出数组:
$res_arr = array(
[0]=>'01:30'
)
因为 01:30
是所有内部数组的公共元素.
because 01:30
is the common element of all inner arrays.
推荐答案
array_intersect()
为您工作..
$days_filter = array(
0 => array(
'00:00',
'01:30',
'02:30',
),
1 => array(
'00:00',
'01:30',
'03:30',
),
2 => array(
'00:30',
'01:30',
'02:30',
),
3 => array(
'00:30',
'01:30',
'04:30',
),
);
$first = $days_filter[0];
for($i=1; $i<count($days_filter); $i++)
{
$result = array_intersect($first, $days_filter[$i]);
$first = $result;
}
print_r($result);
这会给你:
Array
(
[1] => 01:30
)
这篇关于PHP-比较和提取常见的数组元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文