【发布时间】:2019-11-09 00:30:57
【问题描述】:
我正在研究一个过滤多维数组的函数,如果连续数组具有相同的值,我需要删除其间的数组并仅获取具有重复值的连续数组的第一个和最后一个。
我不知道该怎么做。
希望你能帮助我。
谢谢。
示例代码
function removeDuplicates($array){
$result = [];
$count = 0;
$firstValue = null;
for ($i = 0; $i < count($array); $i++) {
if($array[$i]['id'] == firstValue){
$result[] = $array[$i]);
}else{
// do action
}
}
return $array;
}
样本数组
Array (
[0] => Array (
[key] => 0
[value] => 25
)
[1] => Array (
[key] => 1
[value] => 25
)
[2] => Array (
[key] => 2
[value] => 25
)
[3] => Array (
[key] => 3
[value] => 33
)
[4] => Array (
[key] => 4
[value] => 45
)
[5] => Array (
[key] => 5
[value] => 66
)
[6] => Array (
[key] => 6
[value] => 66
)
[7] => Array (
[key] => 7
[value] => 66
)
[8] => Array (
[key] => 8
[value] => 66
)
[9] => Array (
[key] => 9
[value] => 55
)
)
这里前 3 个数组的值相同 (25),我需要删除第 2 个数组并保留第 1 个和第 3 个数组,同样第 6 到第 9 个只保留第 6 个和第 9 个数组。
预期结果
Array (
[0] => Array (
[key] => 0
[value] => 25
)
[2] => Array (
[key] => 2
[value] => 25
)
[3] => Array (
[key] => 3
[value] => 33
)
[4] => Array (
[key] => 4
[value] => 45
)
[5] => Array (
[key] => 5
[value] => 66
)
[8] => Array (
[key] => 8
[value] => 66
)
[9] => Array (
[key] => 9
[value] => 55
)
)
【问题讨论】:
-
您要保留密钥吗?
-
是的,请.....
标签: php arrays multidimensional-array duplicates