PHP - Mit range() und array_merge() Auswahllisten erstellen

Einfaches Beispiel mit range(), Werte von 1 bis 10:

<select name="auswahl" size="10">
<?php
$array = range(1, 10);
foreach ($array as $element) {
 echo '<option>' . $element . '</option>' . PHP_EOL;
}
?>
</select>

Nur jede zweite Zahl anzeigen:

<select name="auswahl" size="5">
<?php
$array = range(1, 10, 2);
foreach ($array as $element) {
 echo '<option>' . $element . '</option>' . PHP_EOL;
}
?>
</select>

Größere Werte einfügen, mit der Hand wäre das schon eine Herrausforderung, Programmierer sind eben faul 😉

<select name="auswahl" size="10">
<?php
$array = range(50, 2500, 25);
foreach ($array as $element) {
 echo '<option>' . $element . '</option>' . PHP_EOL;
}
?>
</select>

Mit array_merge() lassen sich nun mehrere Arrays zusammenführen:

<select name="auswahl" size="10">
<?php
$array = array_merge(range(1, 10), range(15, 100, 5), range(125, 500, 25));
foreach ($array as $element) {
 echo '<option>' . $element . '</option>' . PHP_EOL;
}
?>
</select>

Das Alphabet in der Auswahlliste:

<select name="auswahl" size="10">
<?php
$array = range("A", "Z");
foreach ($array as $element) {
 echo '<option>' . $element . '</option>' . PHP_EOL;
}
?>
</select>

Auch eine Mischung aus Buchstaben und Zahlen ist möglich:

<select name="auswahl" size="10">
<?php
$array = array_merge(range("A", "K"), range("7", "14"), range("k", "a", 2));
foreach ($array as $element) {
 echo '<option>' . $element . '</option>' . PHP_EOL;
}
?>
</select>

Siehe auch: Auswahlliste aus dem Inhalt einer DB-Spalte erstellen, Auswahlliste mit Mehrfachauswahl auswerten und Auswahllisten vom Datum erstellen

Bausteine  Alle Anzeigen

Eine zufällige Auswahl von Codeschnipseln aus den Bereichen HTML, CSS, PHP, JavaScript und MySQL.

<colgroup> Tabellenspalten vordefinieren

CSS - Animierte Box mit Keyframes

PHP - Dateigröße und letzte Aktualisierung ausgeben

JavaScript - Den Wert des ausgewählten Optionsfelds auslesen

MySQL - Datum (DATETIME) in ein deutsches Datumsformat umwandeln

Hintergründe
Der Hintergrund sollte nicht zu grell sein. Grelle Hintergründe belasten das Auge stark und machen Text schwer lesbar. Falls man ein Hintergrundbild verwendet, sollte es den Besucher nicht zu stark ablenken (keinesfalls: Steinkacheln, 3D-Reliefs, Holzmaserungen, Linienmuster... verwenden). Wichtig ist ein ausreichender Kontrast zwischen Text und Hintergrund. Gut ist zum Beispiel schwarze Schrift auf einem weißen oder pastellfarbenen Hintergrund. Hellgrün auf Gelb ist indiskutabel.