Mit Arrays in PHP arbeiten

Das Arbeiten mit Array´s lässt sich am besten an Beispielen erörtern, dazu greifen wir wieder die Datums- und Wochentagsbestimmung der vorhergehenden Seite auf und wandeln das Script etwas um.

Hier das neue Script:
<?php
// --- als erstes Grundwerte bestimmen ---
$wochentag_zahl = date('w');
$wochentag_tag = date('d');
$monat_zahl = date('m');
$jahr_zahl = date('Y');
// --- Arrays zum Tauschen festlegen ---
$tausche_wochentag = array("0"=>"Sonntag", "1"=>"Montag", "2"=>"Dienstag", "3"=>"Mittwoch", "4"=>"Donnerstag", "5"=>"Freitag", "6"=>"Sonnabend");
$tausche_monatsname = array("01"=>"Januar", "02"=>"Februar", "03"=>"März", "04"=>"April", "05"=>"Mai", "06"=>"Juni", "07"=>"Juli", "08"=>"August", "09"=>"September", "10"=>"Oktober", "11"=>"November", "12"=>"Dezember");
// --- Werte austauschen lassen ---
$monat_text = strtr($monat_zahl,$tausche_monatsname);
$wochentag_text = strtr($wochentag_zahl,$tausche_wochentag);
// --- Über ECHO-Anweisung ausgeben lassen ---
echo "Heute ist $wochentag_text, der $wochentag_tag. $monat_text $jahr_zahl<br>\n";
echo "(Wochentagszahl ist: $wochentag_zahl - andere Datumsangabe: $wochentag_tag. $monat_zahl. $jahr_zahl)<br>\n";
?>

Dieses Script gibt jetzt folgendes aus:
Heute ist Montag, der 09. Dezember 2024
(Wochentagszahl ist: 1 - andere Datumsangabe: 09. 12. 2024)

Was zeigt Dir dieses Script?
Erstens, dass mit "//" Notizen angelegt werden können, welche (nicht einmal im Quelltext) angezeigt werden,
Zweitens, dass man mit Variablen Array´s anlegen kann,
Drittens, dass man mit Variablen Werte in diesen mit dem Befehl "strtr" umgeändert bekommt (Klammerwert 1 - das Original und Klammerwert 2 das Austauscharray, getrennt mit einem Komma) und
Viertens, dass Du mehrere echo-Anweisungen verwenden kannst.
Denke daran, dass jeder Befehl mit einem Semikolon (;) abgeschlossen werden muss.

Eine andere Variante sich die Werte anzeigen zu lassen ist folgende:
<?php
// --- als erstes wieder Grundwerte bestimmen ---
$wochentag_zahl = date('w');
$wochentag_tag = date('d');
$monat_zahl2 = date('n'); // --- hier jetzt die Monatszahl ohne vorangestellte Null ---
$jahr_zahl = date('Y');
// --- Arrays festlegen ---
$tausche_wochentag = array("0"=>"Sonntag", "1"=>"Montag", "2"=>"Dienstag", "3"=>"Mittwoch", "4"=>"Donnerstag", "5"=>"Freitag", "6"=>"Sonnabend");
$tausche_monatsname = array("0"=>"0", "1"=>"Januar", "2"=>"Februar", "3"=>"März", "4"=>"April", "5"=>"Mai", "6"=>"Juni", "7"=>"Juli", "8"=>"August", "9"=>"September", "10"=>"Oktober", "11"=>"November", "12"=>"Dezember");
// --- andere Auswertung ---
$wochentag_text = $tausche_wochentag[$wochentag_zahl];
$monat_text = $tausche_monatsname[$monat_zahl2];
// --- Anzeigen ---
echo "Heute ist $wochentag_text, der $wochentag_tag. $monat_text $jahr_zahl<br>\n";
?>
was Folgendes ausgibt:
Heute ist Montag, der 09. Dezember 2024

Du siehst, dass viele Wege ans Ziel führen (ähnlich wie nach ROM).
Achte hier auf die Änderungen vor allem zur Anzeige, denn hier wird mittels einer Variable ein bestimmter Wert des Array´s, was ebenfalls eine Variables ist, aufgerufen.

Was kannst Du sonst noch mit Variablen?
Natürlich einzelne Werte oder das gesamte Array löschen oder auch neue Werte hinzufügen.

Einzelne Werte löschen:
<?php
unset($tausche_monatsname[0]);
?>
das gesamte Array löschen:
<?php
unset($tausche_monatsname);
?>

Werte an ein Array anfügen:
<?php
// --- Array anlegen ---
$arr1 = array(2, 3);
// --- zweites Array anlegen und mit dem ersten Array füllen ---
$arr2 = $arr1;
// --- zweites Array mit weiterem Wert auffüllen ---
$arr2[] = 4;
// --- arrays zum Vergleich ausgeben ---
print_r($arr1);
echo "<br>\n";
print_r($arr2);
?>
was zum Vergleich folgendes ausgibt:
Array ( [0] => 1 [1] => 2 [2] => 3 )
Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )

Denke daran, dass Du komplette Array´s nur mit der print_r-Anweisung anzeigen kannst, anders bei Einzelwerten des Array´s ($arr[1]), wo Du auch die Echo-Anweisung verwenden kannst (was eher Sinn macht - siehe Datums- und Wochentagsanzeige oben).

Eine weitere Form von Array´s sind mehrdimensionale Array´s. Hier sind Array´s in ein Array eingesetzt, was so aussieht:
<?php
$multi = array("0"=>array("a" => "Orange","b" => "Banane"), "1"=>array(1,2,3), "2"=>array("0"=>"süß", "1"=>"sauer"));
?>
Dieses Array dient nur als Hinweis, was mit Array´s möglich ist - wie Du damit umgehen musst wird Dir im Handbuch zu PHP näher gebracht (wird in diesen Abhandlungen hier nicht benötigt).

Auf der nächsten Seite erfährst Du einiges zu Anweisungen mit PHP - hier benötigst Du unter anderem diese Grundkenntnisse und erfährst noch dazu, wie mit PHP Array´s aufgefüllt werden können.