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.

<rp> Ruby Anmerkung

CSS - Eingabefelder und Buttons formatieren

PHP - Lange Wörter mit Leerzeichen teilen

JavaScript - Zweite Auswahlliste aktivieren

MySQL - Zeige Einträge von heute an