Yo!
ich habe in PHP einen Array aus der DB (mysql_fetch_array)
worin lediglich ein Feld der DB ausgelesen, "Zahl".
Jetzt gibt es 10 Zahlen, von 1-10, die jeweils nur einmal - oder gar nicht vorkommen können. z.B. eine Zahlenreihe wie 1,2,3,5,6,9 halt als Array. Jetzt suche ich die erste (oder überhaupt eine) Zahl die Fehlt, also z.B. die 4.
Wie komme ich an diese Zahl???
Speichere die von der Datenbank empfangenen Zahlen in einem Hash - und zwar als Schlüssel. Als Wert nimmst du einfach die Zahl 1 (PHP kennt wohl keine Bit-Werte, da muß immer wenigstens ein Byte herhalten - alternativ speichere "true").
Wenn du alle Zahlen gespeichert hast, hast du solch einen Hash:
$HASH ['1'] = 1
$HASH ['2'] = 1
$HASH ['3'] = 1
$HASH ['5'] = 1
$HASH ['6'] = 1
$HASH ['9'] = 1
Wenn du nun abfragen willst, was die erste nichtgenannte Zahl ist: Einfach bei 1 anfangen zu zählen und gucken, ob im passenden Hash eine 1 drinsteht. In diesem Fall weiterzählen - ansonsten hast du die kleinste unbenutzte Zahl gefunden.
- Sven Rautenberg
PS: Es gibt sicherlich noch andere Methoden. ;)