E-Book Startseite Karteikarten-Programm
0

einfaches Array

Arrays sind dafür gedacht mehrere Werte in nur einer Variabel zu speichern. Der Aufbau fängt auch wie bei den Variablen an, denn es wird auch hier ein Variablenname vergeben und ein Dollarzeichen davor gesetzt. Als Wert wird array() eingegeben. Innerhalb der Klammer können die einzelnen Werte eingegeben werden (String, bool, Integer, etc.). Getrennt werden die Werte mit einem normalen Komma. Auf den Inhalt kann mit dem Variablennamen und dem sogenannten Index zurückgegriffen werden. Der Index muss zwischen [ und ] gesetzt werden. Sie müssen also die Werte im Wert array() durchzählen. Beim Zählen müssen Sie bei der Zahl 0 anfangen. Hier ein Beispiel dazu:

$monate = array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
 
echo $monate[2];
Anzeigebeispiel
Anzeigebeispiel



Hinzufügen von Werten

In PHP ist es möglich, neue Werte in ein Array einzuspeisen. Dafür wird die Variabel angegeben eine leere eckige Klammer notiert und dann als Wert der Variabel den hinzuzufügenden Wert angeben. Natürlich kann man das Hinzufügen von Werten auch durch die Eingabe des Benutzers durchführen lassen. Oft wird die Methode auch verwendet um Werte von Datenbanken in das Array schreiben zu lassen. Das Array, in welches die Werte geschrieben werden sollen, darf selbstverständlich auch am Anfang leer sein. Hier ein kleines Beispiel:

$monate = array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November");
 
$monate[] = "Dezember";
 
echo $monate[11];
Anzeigebeispiel
Anzeigebeispiel



assoziative Arrays

Zu dem bereits gennannten "einfachen" Array, gibt es sogenannte assoziative Arrays. Dabei kann der Key (= Zählwert) selbst festgelegt werden. Dafür macht man meistens einen Aufbau, bei dem sich die Elemente untereinander befinden. Dieser Aufbau muss nicht eingehalten werden ist jedoch deutliche übersichtlicher. Als erstes wird der Key in Anführungszeichen gesetzt. Danach folgt das Zeichen => Zum Schluss kommt der eigentliche Eintrag, der ebenfalls in Anführungszeichen geschrieben wird. Bei unserem Monat-Beispiel, legen wir bei dem Monat Januar den Key "jan" fest. Wer nun den Eintrag ausgeben will, gibt statt der Zahl einfach den Key an (auch in Anführungszeichen). Auch bei den assoziativen Arrays können Werte hinzugefügt werden, statt den leeren []-Klammern, muss zwischen den Klammern der Key stehen. Der Rest bleibt gleich. Hierzu wieder folgendes abgeändertes Beispiel:

$monate = array(
  "jan" => "Januar",
  "feb" => "Februar",
  "mae" => "März",
  "apr" => "April",
  "mai" => "Mai",
  "jun" => "Juni",
  "jul" => "Juli",
  "aug" => "August",
  "sep" => "September",
  "okt" => "Oktober",
  "nov" => "November"
);
 
$monate["dez"] = "Dezember";
 
echo $monate["dez"];
Anzeigebeispiel
Anzeigebeispiel



alle Einträge ausgeben

Man kann auch alle Einträge eines Arrays auf einmal Ausgeben. Jedoch gibt es dafür keinen bestimmten Befehl, sondern man verwendet eine Schleife, die solange die einzelnen Werte ausgibt, bis alle ausgelesen worden sind. Man kann die while-Schleife und die for-Schleife verwenden. Wir wollen Ihnen jedoch hier eine weitere Schleife vorstellen: die foreach-Schleife. Diese Schleife wird nur für Arrays verwendet. Da diese Methode am einfachsten ist, empfehlen wir Ihnen diese Schleife zu verwenden. Es wird das Schlüsselwort foreach angegeben. Nun werden die einfachen Klammern geöffnet und dort der folgende Inhalt hineingeschrieben: $arrayname AS $ausgabename Dabei steht $arrayname für den Namen Ihres Arrays und $ausgabename für den neuen temporären Variablennamen, der für die Ausgabe verwendet wird. Nun werden die geschweiften Klammern geöffnet und dort ein echo-Befehl hineingeschrieben. Das war auch schon das ganze Geheimnis der Ausgabe von allen Einträgen im Array:

$monate = array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
 
foreach($monate AS $monateausgabe) {
    echo $monateausgabe;
    echo "<br />";
}
Anzeigebeispiel
Anzeigebeispiel



Zählen der Einträge

Eine weitere Funktion ist es, die Elemente im Array zu zählen. Dies ist z. B. dann notwendig, wenn neue Einträge eingefügt worden sind und man nun wissen möchte, wie viel Elemente es gibt. Dafür gibt es die Funktion "count". Dieser muss in dem echo-Befehl oder innerhalb einer Vairablenwertzzuweißung verwendet werden. Der Variablenname des Arraays muss hinter den Befehl count in Klammer geschrieben werden.

$monate = array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
 
echo count($monate);
Anzeigebeispiel
Anzeigebeispiel



Einträge Suchen

Für das Dursuchen eines Arrays bietet PHP auch einen Befehl. Um ein Array zu dursuchen verwendet man als erstes einmal eine if-Anweisung. In unserem Fall wird ein Text ausgegeben, wenn der Monat vorhanden ist. Man könnte natürlich nun noch den Befehl else verwenden, dass auch eine Fehlermeldung erscheint. In die Klammer der if-Anweisung geben wir den Befehl in_array($suchname,$arrayname) ein. $suchname steht entweder für den Suchbegriff (manuell) oder für die Variabel, in der die Eingabe des Benutzers gespeichert wird. $arrayname steht natürlich für den Namen des Arrays. Hier ein Beispiel, mit einem festen Suchbegriff:

$monate = array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
 
if(in_array("April",$monate)) {
    echo "April ist ein Monat des deutschen Kalenders!";
}
Anzeigebeispiel
Anzeigebeispiel



Einträge Sortieren

Nun kann man die Einträge auch noch sortieren. Dafür gibt es verschiedene Möglichkeiten. Es gibt 4 verschiedene Funktion, mit der die 4 verschiedenen Sortierungsmethoden aufgerufen werden können. Danach geben wir in unserem Beispiel das sortierte Array aus. Wir lassen unser Array 4 Mal sortieren und geben es 4 Mal mit der foreach-Schleife aus. Folgende Funktionen gibt es:

$monate = array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
 
asort($monate);
 
foreach($monate AS $monateausgabe) {
    echo $monateausgabe;
    echo "<br />";
}
 
echo "<br />";
 
arsort($monate);
 
foreach($monate AS $monateausgabe) {
    echo $monateausgabe;
    echo "<br />";
}
 
echo "<br />";
 
ksort($monate);
 
foreach($monate AS $monateausgabe) {
    echo $monateausgabe;
    echo "<br />";
}
 
echo "<br />";
 
krsort($monate);
 
foreach($monate AS $monateausgabe) {
    echo $monateausgabe;
    echo "<br />";
}
Anzeigebeispiel
Anzeigebeispiel



Arrays verschachteln

Ein großer Vorteil von einem Array ist, dass Arrays verschachtelbar sind, d. h. in Arrays können weitere Arrays sein. Wenn man diese Funktion nutzt, spricht man von mehrdimensionalen Arrays. Wenn man nun auf den Inhalt zugreifen möchte, muss man 2 Indexen angeben, d. h. die Indexen werden in den eckigen Klammern zweimal hintereinander angegeben. Hier ein Beispiel:

$monate = array(
  array("KW01", "KW02", "KW03", "KW04", "KW05"),
  array("KW05", "KW06", "KW07", "KW08", "KW09"),
  array("KW09", "KW10", "KW11", "KW12", "KW13"),
  array("KW14", "KW15", "KW16", "KW17", "KW18"),
  array("KW18", "KW19", "KW20", "KW21", "KW22"),
  array("KW22", "KW23", "KW24", "KW25", "KW26"),
  array("KW27", "KW28", "KW29", "KW30", "KW31"),
  array("KW31", "KW32", "KW33", "KW34", "KW35"),
  array("KW35", "KW36", "KW37", "KW38", "KW39", "KW40"),
  array("KW40", "KW41", "KW42", "KW43", "KW44"),
  array("KW44", "KW45", "KW46", "KW47", "KW48"),
  array("KW48", "KW49", "KW50", "KW51", "KW52", "KW01"), 
);
echo $monate[4][0];
Anzeigebeispiel
Anzeigebeispiel



Design:
 


Logo
Benjamin Jung
Krummstr. 9/3
73054 Eislingen

E-Mail: info@homepage-webhilfe.de
Webseite: www.homepage-webhilfe.de