Как поправить foreach чтобы не выводились дубли?

Чтобы поправить цикл foreach, чтобы не выводились дублирующиеся элементы, можно использовать специальный массив для отслеживания уже выведенных элементов. Для этого нужно выполнить следующие шаги:

1. Создайте новый пустой массив, который будет использоваться для отслеживания уже выведенных элементов. Назовем его $usedItems.

2. В цикле foreach, перед выводом каждого элемента, проверьте, содержится ли этот элемент уже в массиве $usedItems. Если элемент уже содержится, пропустите его и переходите к следующей итерации цикла.

3. Если элемент не содержится в массиве $usedItems, выведите его и добавьте его в массив $usedItems.

Пример кода:

$items = array(1, 2, 3, 2, 4, 1, 5);
$usedItems = array();

foreach ($items as $item) {
    if (in_array($item, $usedItems)) {
        continue;
    }

    echo $item . "<br/>";
    $usedItems[] = $item;
}

В этом примере, элементы 2, 1 и 2 являются дубликатами. Однако, благодаря проверке в цикле foreach и использованию массива $usedItems, только уникальные элементы будут выведены:

1
2
3
4
5

Таким образом, вы успешно поправили цикл foreach, чтобы не выводились дублирующиеся элементы.