Найти равные значения в массиве

Как сократить код на php в проверке значений в массиве

<?
$deget = array();

$deget[0] = $_GET['input-0'];

$deget[1] = $_GET['input-1'];

$deget[2] = $_GET['input-2'];

$deget[3] = $_GET['input-3'];
$deget[4] = $_GET['input-4'];

$deget[5] = $_GET['input-5'];
$deget[6] = $_GET['input-6'];
$deget[7] = $_GET['input-7'];
$deget[8] = $_GET['input-8'];


$deget[9] = $_GET['input-9'];
$deget[10] = $_GET['input-10'];
$deget[11] = $_GET['input-11'];
$deget[12] = $_GET['input-12'];
$deget[13] = $_GET['input-13'];
$deget[14] = $_GET['input-14'];
$deget[15] = $_GET['input-15'];
$deget[16] = $_GET['input-16'];
$deget[17] = $_GET['input-17'];
$deget[18] = $_GET['input-18'];
$deget[19] = $_GET['input-19'];
$deget[20] = $_GET['input-20'];
$deget[21] = $_GET['input-21'];
$deget[22] = $_GET['input-22'];
$deget[23] = $_GET['input-23'];
$deget[24] = $_GET['input-24'];
$deget[25] = $_GET['input-25'];


if (($deget[1] == $deget[2]) or ($deget[1] == $deget[3]) or ($deget[1] == $deget[4]) ... or ($deget[25] == $deget[24]))
    
?>

Ответы (2 шт):

Автор решения: Алексей Шиманский
  1. Вместо извращения в виде input-0/input-1/input-2...input-N на форме надо сделать инпуты с именем input[] тогда все значения полетят в один массив с именем input и лежать будет по единственному ключу $_GET['input']
  2. Далее с этим работать очень просто:
    • Применить array_count_values для подсчёта дубликатов в массиве.
    • Пробежаться по этому массиву циклом foreach и если хотя бы одно значение будет больше 1, значит дубликаты имеются
→ Ссылка
Автор решения: Color kat

Заполнение массива можно сократить с помощью простого цикла. А найти повторы можно так. array_unique() - создаст массив с уникальными элементами из массива. Если кол-во уникальных меньше, чем кол-во всех элементов, то значит, что есть дубликаты

<?php

$deget = [];

for($i=0; $i<=25; $i++) {
    $deget[$i] = $_GET["input-$i"];
}

if(count(array_unique($deget)) < count($deget)) {
    // Array has dublicates
}

→ Ссылка