PHP Array – Was ist ein Array?
Sie befinden sich: Home > Php
> Was ist ein Array?
Ein Array ist ein Datentyp, wo Sie beliebig viele Werte abspeichern können. Während
in einer Variable immer
ausschließlich ein einzelner Datentyp enthält, kann in einem Array variabel eine
große Anzahl verschiedene Werte enthalten. Das Verhältnis zwischen einer variabel
und ein Array können Sie vergleichen mit zum Beispiel: das Fahrrad und ein Auto oder
ein Flugzeug.
Die Variabel ist ähnlich wie ein Fahrrad, das Fahrrad kann eine einzelne Person befördern.
Natürlich kann das Fahrrad von unterschiedlichen Personen genutzt werden. So ist es bei
der Variabel, es kann bei einem Script mehrere unterschiedliche Werte im Ablauf des Skriptes
einen Wert der Variabel zugeordnet werden. Es besteht aber immer wieder die Möglichkeit,
dass ausschließlich ein Wert in der Variabel gespeichert werden kann.
Wenn Sie den Vergleich zu einem Array ziehen, müssten Sie das Array als Bus oder
Flugzeug ansehen. Ein Bus oder Flugzeug kann mehrere Personen transportieren. Ein Array kann
mehrere Werte über die Laufzeit eines Skriptes transportieren. Um ein Array zu
verwenden, müssen Sie einen Schlüssel definieren, der einen gewissen Wert in den
einzelnen Array speichert. Wenn kein Schlüssel definiert wurde in den Array, so wird
automatisch von Null, um eins hoch gezählt. Wenn sie einen einzelnen Wert ausgeben möchte,
ist es erforderlich, dass der Schlüssel, des Array angegeben wird. Es besteht zusätzlich
die Möglichkeit, ein Array in mehrere Ebenen zu verschachteln.
Die Indizierung der einzelnen Felder kann entweder fortlaufend von 0 - n geschehen, oder
assoziativ. Eine allgemeine Fehlerquelle, auf die auch erfahrene Programmierer immer wieder
hereinfallen, ist der Umstand, dass ein Array mit 10 Feldern mit dem Index 0 beginnt, und
mit 9 endet.
Genereller ausgedrückt, ein Array mit n Feldern hat als maximalen Feldindex n-1. Diese
Fehlerquelle können Sie umgehen, indem Sie ein assoziatives Indiz vergeben, das
bedeutet, dass der Index selbst ein Name oder ein Charakterstring sein kann.
Dabei ist zu beachten, dass selbst bei Verwendung dieser Zuordnung, intern mit Feldnummern
gearbeitet wird. Dies liegt im Speichermodell begründet. Um den Inhalt eines Feldes
bearbeiten oder abfragen zu können, wird ein Zeiger angelegt, der auf dem
entsprechenden Feld des Arrays zeigt.
Ein solcher Pointer kann als Hilfsmittel angesehen werden, um mit Arrays arbeiten zu können.
Da alle Elemente eines Arrays im Speicher hintereinanderliegen, muss der Zeiger immer einen
Speicherblock verschoben werden, um auf das nächste Element zugreifen zu können,
dabei wird immer vom ersten Element aus inkrementiert.
Außerdem lassen sich Arrays einfacher mit Schleifen verarbeiten.
Beispiel zeigt diese Vorteile:
<?php
$wert_eins = 1;
$wert_zwei = 2;
$wert_drei = 3;
$wert_vier = 4;
/*
* Um den Inhalt der vier Varibalen
* wiederzugeben muss nun jede erneut
* angespochen werden
*/
echo $wert_eins.'<br>';
echo $wert_zwei.'<br>';
echo $wert_drei.'<br>';
echo $wert_vier.'<br>';
?>
Ausgabe:
1 2 3 4
Beispiel mit ein array() und foreach-Schleife:
<?php
/*
* Ein Array vereinfacht das
* oben angeführte Beispiel erheblich
*/
$aArray =[0 , 1 , 2 , 3];
foreach( $aArray as $iAusgabe ){
echo $iAusgabe.'<br>';
}
?>
Ausgabe des Arrays:
0 1 2 3
Erklärung:
Der PHP-Code definiert ein Array, das aus vier Elementen besteht und lässt es dann in
einer Schleife durchlaufen. Der foreach-Befehl wird verwendet, um jedes Element des Arrays
aufzurufen und auszugeben. Jedes Element wird dann in einer neuen Zeile ausgegeben, was
durch das Zeichen „<br>" am Ende des echo-Befehls erreicht wird.
Was sind mehrdimensionale Arrays?
„Wenn die Rede von einem mehrfachen Array ist“ – wird von ein
multidimensional Array in PHP gesprochen, welches mehre Ebenen von Datenelemente enthält.
Jede Ebene kann wiederum ein Array sein, das mehrere Elemente enthält. Jede Ebene wird
von einem Schlüsselwort oder einer Nummer indexiert, das als „Schlüssel“
bezeichnet wird. Dadurch können mehrere Arrays in einem Array gespeichert
werden.
Diese Art von Array ist sehr flexibel und ermöglicht es, komplexe Datenstrukturen zu
erstellen und zu verwalten. Es können auch dynamische Arrays erzeugt werden, die sich
aufgrund der Anzahl der Elemente in einem bestimmten Array ändern.
Es ist möglich, einzelne Elemente eines Arrays mithilfe von Schlüsselwörtern
oder Indizes abzurufen. Die Syntax für das Abrufen von Elementen in einem
multidimensionalen Array ist jedoch etwas komplexer. Zuerst muss der Schlüssel für
jede Ebene identifiziert werden, bevor Sie auf die Elemente zugreifen können.
Beispiel mit ein mehrdimensionalen array() und einer for-Schleife
<?php
/*
* Initialisiere und weise Werte dem Array zu
*/
$aWertNeu =[];
$aWertNeu[] = 0;
$aWertNeu[] = 1;
$aWertNeu[] = 2;
$aWertNeu[] = 3;
for( $key = 0 ; $key < count($aWertNeu) ; $key++){
echo $aWertNeu[$key].'<br>';
}
?>
Ausgabe:
0 1 2 3
Erklärung:
In dem oben stehenden PHP-Code wird ein Array mit dem Namen $aWertNeu erstellt, das mehrere Werte des
Typs Integer speichert, nämlich 0, 1, 2 und 3. Diese Zahlen werden nacheinander dem
Array zugewiesen, wobei sie durch die Verwendung von eckigen Klammern ohne spezifischen
Index automatisch an die nächste verfügbare Position im Array angehängt
werden.
Anschließend wird eine Schleife verwendet, um die Werte des Arrays auszugeben. Die
Schleife benutzt einen Integer $key als Schleifenvariable, der von 0 startet
und bis zur Anzahl der Elemente im Array läuft, die mit der Funktion count($aWertNeu) ermittelt wird. Für jedes
Durchlaufen der Schleife wird der Wert von $aWertNeu[$key] ausgegeben. Dieser Zugriff
erfolgt wiederum durch die Verwendung eckiger Klammern, die den Index angeben, an dem der
jeweilige Integer-Wert im Array gespeichert ist.
Die Ausgabe jedes Werts (häufig „Value“ oder „Array Value“
genannt) erfolgt dann mit einem Zeilenumbruch <br> , was die Werte
vertikal untereinander darstellt. Dieses Beispiel demonstriert, wie mit einfachen
PHP-Strukturen ein Array initialisiert, mit Integer-Werten gefüllt und durch Iteration
ausgegeben werden kann.
Verwendung einen assoziativen Array in PHP: Optimierung von Values und deren
Manipulation
Hier ist ein Beispiel zur effektiven Verwendung von assoziativen Arrays in PHP, das die
Optimierung von Werten und deren Manipulation durch eine Funktion illustriert. Dieses
Beispiel zeigt, wie Sie ein zweidimensionales Array und eine Callbackfunktion nutzen können,
um spezifische Daten zu manipulieren:
<?php
/* Zweidimensionales assoziatives Array */
$aDaten = [
"Deutschland" => ["Hauptstadt" => "Berlin", "Einwohner" => 83000000],
"Frankreich" => ["Hauptstadt" => "Paris", "Einwohner" => 67000000]
];
/* Funktion zur Anpassung der Einwohnerzahlen */
function adjustPopulation(array &$aWert, string $sKey) {
/* Erhöhen der Einwohnerzahl um 10% für das Beispiel */
if ($sKey === "Einwohner") {
$aWert = round($aWert * 1.1);
}
}
/* Manipulieren der Values des assoziativen Arrays mittels einer Callbackfunktion */
array_walk_recursive($aDaten, 'adjustPopulation');
/* Ausgabe des angepassten Arrays */
echo "Nach der Anpassung:\n";
foreach ($aDaten as $sLand => $aInfos) {
echo $sLand . " - Hauptstadt: " . $aInfos['Hauptstadt'] . ", Einwohner: " . $aInfos['Einwohner'] . "\n";
}
?>
In der Erläuterung des obigen Beispiels wird ein zweidimensionales Array namens $aDaten
definiert, das Länder als Schlüssel benutzt. Jedes Land wird durch ein weiteres
Array repräsentiert, in dem spezifische Informationen wie Hauptstadt und Einwohnerzahl
gespeichert sind. Diese Informationen sind mittels eckigen Klammern zugänglich, die den
jeweiligen Schlüsselwert (Anm.: oft Array key genannt) umschließen, z.
B. $aInfos['Hauptstadt'] und $aInfos['Einwohner'] .
Die adjustPopulation Funktion ist darauf ausgelegt, die Einwohnerzahl zu
modifizieren. Sie überprüft, ob der aktuelle Schlüssel 'Einwohner' lautet,
und erhöht in diesem Fall den Wert um 10%. Dies wird erreicht durch die Funktion array_walk_recursive ,
die jedes Element des Arrays durchläuft und die angegebene Funktion anwendet.
Am Ende des Scripts wird das bearbeitete Array ausgegeben. Hierbei wird für jedes Land,
seine Hauptstadt und die aktualisierte Einwohnerzahl angezeigt, wobei die eckigen Klammern
erneut zum Einsatz kommen, um auf die Werte im assoziativen Array zuzugreifen. Dieses
Beispiel zeigt deutlich, wie mächtig PHP-Funktionen sein können, um dynamisch und
effizient mit Daten in assoziativen Arrays umzugehen.
Array Funktionen in PHP, um ein Array zu bearbeiten
Arrays sind ein wichtiger Teil der Programmierung in PHP. Sie ermöglichen es, mehrere
Werte in einer einzigen Variablen zu speichern. Um Arrays in PHP zu bearbeiten, gibt es eine
Reihe von Funktionen, die verwendet werden können. In diesem Artikel werden wir einige
dieser Funktionen aufzählen und erklären, wie sie funktionieren.
- Array
- in_array()
- in_array() überprüft, ob ein bestimmter Wert in einem Array
vorhanden ist und gibt einen booleschen Wert zurück.
- foreach()
- foreach() ist eine Funktion in PHP, die es ermöglicht, einen Array
Element für Element zu durchlaufen und dabei jedes Element einzeln
zu verarbeiten. Alternativ kann auch ein Array mit einer for() Schleife
ausgegeben werden.
- is_array()
- Die Funktion is_array() prüft, ob eine Variable ein Array ist oder
nicht und gibt dann einen booleschen Wert zurück. Sie kann also
verwendet werden, um zu überprüfen, ob eine Variable ein Array
ist oder nicht.
- list()
- list() ist eine PHP-Funktion, die es ermöglicht, ein Array in einer
Variablen zu speichern und gleichzeitig die Werte anhand einer Liste von
Variablen zu extrahieren.
- array_map()
- array_map() ist eine Funktion, die es ermöglicht, eine
Callback-Funktion auf jedes Element eines Arrays anzuwenden und ein
neues Array zurückzugeben, das die Ergebnisse des Callback-Aufrufs
enthält.
- array_merge()
- Die array_merge() Funktion fügt zwei oder mehr Arrays zu einem
einzigen Array zusammen und behält dabei die Schlüssel/Indexe
der Arrays bei.
- array_merge_recursive()
- array_merge_recursive() kombiniert ein oder mehrere Arrays, wobei Schlüssel
mit gleichen Namen in einem neuen Array zu einem Unterarray
zusammengefasst werden.
- array_chunk()
- Die array_chunk() Funktion teilt ein Array in kleinere Arrays auf, die
jeweils eine bestimmte Anzahl an Elementen enthalten. Sie kann verwendet
werden, um ein Array in mehrere Abschnitte zu unterteilen.
- array_splice()
- PHP array_splice() ist eine Funktion, die ein bestehendes Array verändert,
indem sie Elemente hinzufügt, ersetzt oder entfernt. Es kann auch
verwendet werden, um Teile des Arrays in einem neuen Array zu speichern.
Diese Funktion kann sehr nützlich sein, um dynamisch Arrays zu
bearbeiten.
- array_key_exists()
- Die PHP-Funktion array_key_exists() prüft, ob ein bestimmter Schlüssel
oder Index in einem Array vorhanden ist. Wenn der angegebene Schlüssel
im Array gefunden wird, gibt die Funktion true zurück, andernfalls
false.
- array_unique()
- Die PHP Funktion array_unique() entfernt alle doppelten Elemente aus
einem Array und gibt ein Array mit einmaligen Elementen zurück.
- array_search()
- array_search durchsucht ein Array nach einem bestimmten Wert und gibt
den dazugehörigen Schlüssel zurück.
- array_count_values()
- Die PHP Funktion array_count_values() zählt die Anzahl der Werte in
einem Array und gibt ein assoziatives Array zurück, dessen Schlüssel
die einzelnen Werte des Arrays sind und deren Werte die Anzahl der
Vorkommen des jeweiligen Schlüssels sind.
- array_rand()
- Die PHP-Funktion array_rand() wählt zufällig einen oder
mehrere Schlüssel aus einem Array und gibt diese zurück.
- array_keys()
- Die PHP-Funktion array_keys() gibt ein Array mit allen Schlüsseln
(Keys) des übergebenen Arrays zurück.
- array_values()
- Die PHP Funktion array_values() gibt ein neues Array zurück, das
die Werte des ursprünglichen Arrays enthält, wobei die Schlüssel
(Keys) neu indiziert werden.
- Array Basic Funktionen
- count()
- Die count() Funktion zählt die Anzahl der Elemente eines Arrays
oder Objektes und gibt diese als Ganzzahl zurück.
- array_pop()
- array_pop() entfernt das letzte Element eines Arrays und gibt es zurück.
Es verkürzt auch die Länge des Arrays um einen Eintrag.
- max()
- max() gibt den größten Wert aus einer Liste von Werten zurück.
Es kann mit numerischen, String-basierten und Array-basierten Werten
verwendet werden.
- current()
- current() gibt das aktuelle Element eines Arrays zurück, auf das
ein interner Zeiger innerhalb des Arrays zeigt. Es kann auch verwendet
werden, um den internen Zeiger eines Arrays zu ändern.
- next()
- next() wird verwendet, um den Cursor eines Arrays auf das nächste
Element zu bewegen und dann dessen Wert zurückzugeben. Es gibt auch
eine Funktion namens prev(), die das Gegenteil bewirkt.
- each()
- each() liefert ein Array-Element mit seinem Schlüssel und Wert als
ein Array zurück und setzt den internen Array-Pointer auf das nächste
Element.
- array_push()
- array_push() ist eine Funktion in PHP, die einem bestehenden Array
Elemente hinzufügt. Es akzeptiert mehrere Argumente, die als neue
Elemente am Ende des Arrays hinzugefügt werden. array_push() gibt
den neuen Array-Index des letzten Elements zurück.
- Array konvertieren
- split()
- split() teilt einen String anhand eines Trennzeichens in ein Array auf.
Es ermöglicht die Zerlegung des Strings in seine Einzelteile.
- explode()
- Explode() ist eine Funktion in PHP, die es ermöglicht, eine
Zeichenkette anhand eines Trennzeichens in ein Array zu zerlegen.
- implode()
- implode() nimmt ein Array an Strings und kombiniert sie zu einem
einzigen String, getrennt durch ein angegebenes Trennzeichen.
- join()
- Die join()-Funktion verbindet alle Elemente eines Arrays in einen
String, wobei ein angegebenes Trennzeichen zwischen jeden Wert eingefügt
wird.
- Array-Sortiermethoden
-
- array_multisort()
- Die array_multisort() Funktion ermöglicht es, mehrere Arrays oder
Arrays von Objekten nach einem oder mehreren Schlüsseln zu
sortieren und kombiniert die Ergebnisse.
- Array als Set
- array_diff()
- array_diff() erlaubt es, zwei oder mehrere Arrays zu
vergleichen und den Unterschied zwischen Arrays mittels var_dump() oder
print_r() auszugeben.
- array_unshift()
- array_unshift ist eine PHP-Funktion, die ein oder mehrere Elemente am
Anfang eines Arrays hinzufügt. Der erste Parameter ist das Array,
an das die Elemente hinzugefügt werden sollen, und die folgenden
Parameter sind die Elemente, die hinzugefügt werden sollen. Die
Funktion gibt die neue Länge des Arrays zurück.
Weiter zu Arrays
sortieren
|