Moin!
Gibts da nicht irgendwelche Probleme, wenn ein Array nicht vom Index 0 an gefüllt wird?
Nein.
PHP kennt in dem Sinne keine Arrays, sondern nur Hashes. Wobei die Hashes auch keine echten Hashes sind, sondern verkettete Listen. Ein Hash zeichnet sich dadurch aus, dass die Reihenfolge der enthaltenen Elemente nicht definiert ist. Fügt man neue Einträge hinzu, könnte sich die Reihenfolge ändern. So ist es jedenfalls in Perl.
Bei PHP sind die verketteten Listen sowohl für Arrays als auch Hashes da. Das bedeutet: Es gibt ein Vorne und Hinten bei den Listen, man kann "hinten" was dranhängen und nacheinander alle Elemente abfragen, welche immer dieselbe Reihenfolge haben.
Insofern ist es sehr schlau, den Arrayindex passend zu wählen. Du brauchst also eigentlich nur die Beitrag-ID als Index, und als Wert ein schlichtes "true" oder "false" eintragen. Das aber auch nur, um irgendeinen sinnvollen Wert in das Element zu schreiben.
Ob ein Beitrag mit ID $id gelesen wurde, kriegst du dann so raus:
if (isset($array[$id])) { wurde gelesen... }
Einen Beitrag als gelesen markieren:
$array[$id] = true;
Einen Beitrag als ungelesen markieren:
unset($array[$id]);
- Sven Rautenberg