Есть снипет в CMS, сортирует выводит уникальные записи в цикле, формат записей в массиве такой:
2016-11-11 00:04:00
2017-01-16 00:04:00
2017-09-07 00:04:00
C датой работать не нужно, это уже записанные в базу строки, работать уже нужно как со строкой я так понимаю. Уникальные записи делает, все хорошо. Но вот заморочка небольшая, мне нужно уникальные записи ТОЛЬКО ПО ГОДАМ. НО при этом, вывод должен сохраниться такой как в базе 2017-09-07 00:04:00. Пробовал в первом цикле
это
$countries[] = $partner['date'];
поменять на это
$countries[] = substr($partner['date'],0,4);
но блин результат меняется, печатает только года 2017 мне нужно сохранить вывод.
Вот снипет.
$tpl = 'tpl-datenews';
$modx->resource = $modx->getObject('modResource', 1);
$tv = $modx->resource->getTVValue('field-news');
$countries = array();
$arr = json_decode($tv, true);
foreach($arr as $partner){
$countries[] = $partner['date'];
}
$countries = array_unique($countries);
natsort($countries);
foreach($countries as $country){
$out .= $modx->getChunk($tpl, array('date'=>$country));
}
return $out;
Как поступить? Выбрать из массива уникальные записи учитывая только года, но при этом сохранить строку в результате для вывода на сайт.