Перебор массива при помощи Fenom
Приветствую!
Собственно вопрос следующего характера.
Есть такой массив, допустим, который при помощи обработки выдает это:
Т.е. должно получиться из этого:
Собственно вопрос следующего характера.
Есть такой массив, допустим, который при помощи обработки выдает это:
id: 1 - count: 2
id: 2 - count: 1
id: 2 - count: 7
Сообственно каждая строка это новый элемент массива. Распасиваю при помощи фенома:{var $array_test = 'm_dish' | placeholder}
{foreach $array_test as $row}
id: {$row.id} - count: {$row.count}
{/foreach}
Вопрос следующий. Можно ли как то при помощи Феном перебрать массив так, чтобы все элементы массива, которые имеют одинаковые ID складывали второе поле COUNT и убирали дублирующие записи по полю IDТ.е. должно получиться из этого:
id: 1 - count: 2
id: 2 - count: 1
id: 2 - count: 7
Это:id: 1 - count: 2
id: 2 - count: 8
Заранее спасибо за помощь! Комментарии: 4
{set $result = []}
{foreach $array_test as $row}
{if $row.id in keys $result}
{$result[$row.id] += $row.count}
{else}
{$result[$row.id] = $row.count}
{/if}
{/foreach}
Приветствую! Спасибо за ответ, складывает действительно, НО не исключает к сожалению по ID повторяющиеся элементы, т.е. получается вот так:
id: 1 - count: 2
id: 2 - count: 1
id: 2 - count: 8
получается предыдущая 2-ка никуда не делась! НО не исключает к сожалению по IDЭтот код и не должен что-то исключать. Результирующий массив лежит в переменной $result, в ней и нужно смотреть. $array_test уже не нужен.
{foreach $result as $id => $value}
id: {$id} - count: {$value}
{/foreach}
в любом случае спасибо! Нашел другой вариант, не связанный с fenom :D
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.