Как можно определить, содержит ли массив два одинаковых элемента подряд?

Как создать функцию на PHP, которая будет проверять наличие двух одинаковых элементов подряд в массиве и при этом избежать предупреждения "Undefined array key"?
  • 16 августа 2024 г. 14:23
Ответы на вопрос 2
Для того чтобы определить, содержит ли массив два одинаковых элемента подряд, можно использовать цикл for или foreach и проверять каждый элемент с предыдущим. Если два элемента подряд равны, то можно вернуть true, иначе вернуть false.

Пример на PHP:
```php
function hasDuplicates($arr)
{
    $prevElement = null;
    foreach ($arr as $element) {
        if ($element === $prevElement) {
            return true;
        }
        $prevElement = $element;
    }
    return false;
}

$arr = [1, 2, 3, 3, 4, 5];
if (hasDuplicates($arr)) {
    echo 'Массив содержит два одинаковых элемента подряд';
} else {
    echo 'Массив не содержит два одинаковых элемента подряд';
}
```

Эта функция проверяет наличие двух одинаковых элементов подряд в массиве, избегая предупреждения "Undefined array key", так как используется присваивание null переменной $prevElement до начала цикла.
надо <br/> <code class="php">$i &lt; count($arr) - 1</code> <br/> потому что дальше в сравнении $i+1, отсюда и ошибка была (выход за пределы массива)
Похожие вопросы