当日期格式为YYYY-MM-DD
时,如何删除基于年份和月份的重复条目?我尝试删除几天,但是随后我需要在数组中添加最后一天,所以我的方法是错误的。
我的数组如下:
Array
(
[0] => Array
(
[id] => 9240399
[time] => 2018-01-01
[pages_indexed] => 942
)
[1] => Array
(
[id] => 9240322
[time] => 2018-01-02
[pages_indexed] => 940
)
[2] => Array
(
[id] => 9240344
[time] => 2018-01-03
[pages_indexed] => 947
)
[30] => Array
(
[id] => 9240344
[time] => 2018-01-31
[pages_indexed] => 947
)
[31] => Array
(
[id] => 9240344
[time] => 2018-02-01
[pages_indexed] => 1999
)
[32] => Array
(
[id] => 9240344
[time] => 2018-02-02
[pages_indexed] => 13339
)
请注意,我跳过了一些条目,因此我的日期是2018-01-01
,2018-01-02
等。
Array_unique
在这里不起作用,因为当天不一样。
我尝试了这个:($entries['time']
就像ex:2018-01-01
。)
$remove = DATE("Y-m",$entries['time']);
$entriesa = array_unique($remove);
$entries['time'] = $entriesa;
答案 0 :(得分:1)
好吧...您可以遍历结果并将每个键索引为Year和Month,然后使用适合该模式的行更新此索引,这意味着您只会拥有期望的行(但您只会有它们的最后引用)。
赞:
$expectedArray = [];
foreach ($arrayDuplicated as $item) {
$indexKey = substr($item['time'], 0, 7);
$expectedArray[$indexKey] = $item;
}