Vielleicht noch optimierungsfähig, aber als Denkansatz ganz brauchbar, denke ich.
Code:
// Durchsucht alle geposteten Selects mit dem Namen "checkXX", wobei XX eine
// laufende Nummer von 1 bis 10 ist, nach Dubletten ab. Bricht nach dem Fund
// der ersten Dublette die Ausführung ab...
function IsSelectUnique() // Korrekter wäre AreSelectsUnique... sieht aber kacke aus. ;-)
{
$myArray = array();
for ($i = 1; $i <= 10; $i++)
{
$selectName = 'check' . sprintf('%02d', $i);
if (array_key_exists($selectName, $_POST))
{
if (!array_key_exists($_POST[$selectName], $myArray))
{
$myArray[$_POST[$selectName]] = $selectName;
}
else
{
// Hier könnte man ansetzen, wenn man ausgeben will, wo was doppelt ist...
// Feld 1: $myArray[$_POST[$selectName]]
// Feld 2: $selectName
return false;
}
}
}
return true;
}
// Aufruf der Funktion...
if (!IsSelectUnique()) echo 'Werte doppelt angegeben!';
Debuggers don't remove Bugs, they only show them in Slow-Motion.