PHP Array bestehend aus Strings: Ausgabe sortiert in 2 Spalten (gerade/ungerade)

Blackbenji

Lieutenant
Registriert
Nov. 2009
Beiträge
557
Hallo zusammen,

Ich habe z.B. folgendes (dynamisch anwachsendes) Array:
PHP:
array("LinkerText1", "RechterText1","LinkerText2", "RechterText2")

Bei der Ausgabe des Arrays möchte ich nun den linken Text in die linke spalte und den rechten Text in die rechte Spalte.
Die Darstellung im HTML wird durch eine CSS Klasse ermöglicht.

Bei einem Array mit zahlen geht das ja recht einfach mit dem Modular Operator:

PHP:
$data = array(
    1, 2, 3, 4, 5, 6, 7, 8, 9
);

foreach ($data as $d) {
    if ($d % 2) {
        echo "Left \n";
    } else {
        echo "Right \n";
    }
}

Wie geht das aber wenn die Arrays aus Strings bestehen?
 
Hallo Blackbenji,

Du hast zwei Lösungsmöglichkeiten.

1. Benutze den Key des Arrays bei der Foreach-Schleife, dieser beginnt automatisch bei 0.

PHP:
$data = array("LinkerText1", "RechterText1","LinkerText2", "RechterText2");

foreach ($data as $d => $text) {
    if ($d % 2 == 0) {
        echo "$text left \n";
    } else {
        echo "$text right \n";
    }
}

2. Erzeuge deinen eigenen Counter mit einer for-Schleife
PHP:
$data = array("LinkerText1", "RechterText1","LinkerText2", "RechterText2");

for ($d = 0; $d<count($data);$d ++) {
    if ($d % 2 == 0) {
        echo $data[$d]. " left \n";
    } else {
        echo $data[$d]. " right \n";
    }
}

Ich hoffe das hilft dir weiter. Vergiss bei deinem Code nicht bei dem Modulo-Operator auf "== 0" zu überprüfen. Das ist sauberer und verständlicher für Dritte.
 
Zurück
Oben