Heim > Artikel > Backend-Entwicklung > PHP-Arrays und Datenstrukturen
Dieser Artikel stellt hauptsächlich Arrays und Datenstrukturen in PHP vor, die einen gewissen Referenzwert haben. Jetzt kann ich ihn mit allen teilen, die ihn brauchen.
Arrays in PHP
Array-Übersicht --- PHP ist eine schwach typisierte Sprache, sodass Arrays eine beliebige Anzahl von Daten beliebiger Art speichern und die Funktionen von Datenstrukturen wie Heaps, Stacks und Warteschlangen realisieren können. Die Array-Kapazität kann automatisch entsprechend der Anzahl der Elemente angepasst werden.
Kategorie
Index-Array---Der Index ist eine Ganzzahl, ähnlich wie Arrays in den meisten Sprachen.
Assoziatives Array --- Der Index ist ein ungeordneter und sich nicht wiederholender Schlüssel, der dem entsprechenden Wert zugeordnet ist.
(1) Definition des Arrays
1. Deklarieren Sie das Array durch direkte Zuweisung
Verwenden Sie Zahlen in eckigen Klammern „[]“ nach dem Variablennamen, um das Indexarray zu deklarieren und Zeichenfolgen zu verwenden Deklarieren Sie ein assoziatives Array.
$Array-Variablenname [Indexwert] = Dateninhalt // Der Indexwert (Index) kann eine Zeichenfolge oder eine Ganzzahl sein
Bei der Deklaration einer Array-Variablen können Sie auch eine Mischung aus Zahlen und Zeichenfolgen verwenden tiefgestellter Weg. Diese Methode wird jedoch selten für eindimensionale Arrays verwendet
$contact[0]=1
$contact[“id“]=1
$contact[1]="Company A"
$ contact["Company"]="Company A"
Im obigen Code wird ein Array $contact deklariert, in dem im Index eine Mischung aus Zahlen und Strings verwendet wird. Der Zugriff darauf kann über Index- oder relationale Methoden erfolgen.
Wenn Sie ein Indexarray deklarieren und der Indexwert zunimmt, müssen Sie den Indexwert nicht in eckigen Klammern angeben. Standardmäßig beginnt er bei 0 und erhöht sich der Reihe nach. In PHP können die Indexwerte des Indexarrays nicht fortlaufend sein, solange die nicht fortlaufenden Indexwerte bei der Initialisierung angegeben werden.
$contact[]=1; //Der Standardindex ist 0
$contact[14]="Gao"; //Folgen Sie dem höchsten Indexwert und addieren Sie 1, der Index ist 15
$contact[14]=110; //Das Element mit dem Index 14 wird neu zugewiesen
$contact[ ] = "pHP"; // Dem höchsten unteren Gebotswert folgen und 1 bis 16 hinzufügen
Print_r ($ contal); // Array ([0] = & gt; 1 [14] = & gt; 110 [15] => Firma A [16] => php)
2. Verwendung die Sprachstruktur array() zum Deklarieren eines Arrays
Sie können die Sprachstruktur array() verwenden, um ein neues Array zu erstellen. Es akzeptiert eine beliebige Anzahl durch Kommas getrennter Schlüssel => Wertepaare.
$Array variable name=array(key1=>value1,key2=>value2,...,keyN=>valueN,) // Schlüssel (Schlüssel) kann eine Ganzzahl oder ein Zeichenfolgenwert (Wert) sein kann jede Art von Wert sein
Wenn Sie => nicht verwenden, um den Index anzugeben, wird standardmäßig ein Indexarray verwendet und der Indexwert wird standardmäßig sequentiell von 0 an erhöht. Wenn Sie beim Deklarieren eines Arrays mit dem Sprachkonstrukt array() nicht den Standardindexwert verwenden möchten, können Sie den Operator => verwenden, um nicht aufeinanderfolgende Indexwerte anzugeben. Der Code lautet wie folgt:
$contact=array(1,14=>"Gao", Company A,14=>110,php);
print_r($contact); //Array ([0 ] = > 1 [14] => 110 [15] => Company A [16] => Hinweis: Als Zeichenfolgen ausgedrückte Array-Indizes sollten immer in Anführungszeichen gesetzt werden. Verwenden Sie beispielsweise $foo['bar'] anstelle von $foo[bar]. Das heißt aber nicht, dass Sie Schlüsselnamen immer in Anführungszeichen setzen. Es ist nicht erforderlich, die Schlüsselnamen von Konstanten oder Variablen in Anführungszeichen zu setzen, da PHP sie sonst nicht analysieren kann.
(2) Durchlaufen Sie das Array
1 Verwenden Sie die for-Anweisung, um das Array zu durchlaufen. Die Verwendung der for-Anweisung zum Durchlaufen des Arrays erfordert, dass der Index des Arrays a sein muss kontinuierlicher numerischer Index, und in PHP können Sie nicht nur nicht aufeinanderfolgende numerische Indexwerte angeben, sondern es gibt auch assoziative Arrays mit Zeichenfolgen als Indizes, sodass die for-Anweisung in PHP selten zum Durchlaufen von Arrays verwendet wird.
2. Verwenden Sie die foreach-Anweisung, um das Array zu durchlaufen.
Die foreach-Syntaxstruktur bietet eine einfache Möglichkeit, das Array zu durchlaufen. foreach kann nur auf Arrays und Objekte angewendet werden (seit PHP5 wird das Durchlaufen von Objekten unterstützt). Wenn Sie versuchen, es auf Variablen anderer Datentypen oder nicht initialisierte Variablen anzuwenden, führt dies zu einem Fehler. Es gibt zwei Syntaxen:
foreach (array_expression as $value){ 第一种 }
foreach (array_expression as $key => $value){ 第二种 }
3. Verwenden Sie list(), every() und while-Schleife in Kombination, um das Array zu durchlaufen.
every() – Gibt das Schlüssel/Wert-Paar der aktuellen Zeigerposition im Array-Array zurück und bewegt den Array-Zeiger nach vorne. Nachdem every() ausgeführt wurde, bleibt der Array-Zeiger beim nächsten Element im Array oder beim letzten Element, wenn das Ende des Arrays erreicht ist. Wenn Sie „jede“ verwenden möchten, um das Array erneut zu durchlaufen, müssen Sie „reset()“ verwenden.
List() – Weisen Sie die Werte im Array einigen Variablen zu. Wie array() handelt es sich hierbei nicht um eine echte Funktion, sondern um ein Sprachkonstrukt. list() weist einer Reihe von Variablen in einem Schritt Werte zu. list() kann nur mit numerisch indizierten Arrays verwendet werden und geht davon aus, dass die numerische Indizierung bei 0 beginnt.
Zusätzliche Erklärung:
Each() liest jedes Mal ein Element, fügt es zu einem Array zusammen und gibt es zurück. Wenn keine Elemente vorhanden sind, wird false zurückgegeben. Die zurückgegebenen Array-Schlüsselnamen sind 0,1,Schlüssel,Wert, wobei 0 gleich dem Schlüssel und 1 gleich dem Wert ist.
list() mit seltsamer Syntax wird nur zum numerischen Indexieren von Arrays verwendet und geht davon aus, dass der Index bei 0 beginnt. list(,,var)=array;
while(list(key,value) = every($array)){}
4. Verwenden Sie die interne Zeigersteuerungsfunktion des Arrays, um das Array zu durchlaufen.
Für die Steuerung des Array-Zeigers bietet PHP mehrere integrierte Funktionen:
-->current() – Get the Inhaltsdaten der aktuellen Zeigerposition
-->key() – Indexwert der aktuellen Zeigerposition abrufen
-->prev() – Den internen Zeiger des Arrays um eine Ziffer zurückspulen
-->next() – Return Bewegt den internen Zeiger im Array um eine Position nach vorne
-->end() – Zeigt den internen Zeiger des Arrays auf das letzte Element
-->reset( ) – Zeigen Sie den internen Zeiger des Arrays auf die erste Einheit
(3) Vordefiniertes Array
Ab PHP4.1.0 stellt PHP eine Reihe zusätzlicher vordefinierter Arrays bereit Zu den Variablen gehören Daten vom Webserver und Client, der Betriebsumgebung und Benutzereingabedaten. Sie werden automatisch im globalen Bereich wirksam und werden daher häufig als automatische globale Variablen oder superglobale Variablen bezeichnet. In PHP können Benutzer keine superglobalen Variablen anpassen. Daher sollten Sie beim Anpassen von Variablen vermeiden, denselben Namen wie eine vorgegebene globale Variable zu verwenden. Häufig verwendete globale Arrays sind wie folgt:
-->$GLOBALS – Verweist auf alle im globalen Bereich verfügbaren Variablen
-->$_SERVER – Server- und Ausführungsumgebungsinformationen
-->$_ENV – Umgebung Variable
-->$_GET – HTTP-GET-Variable
-->$_POST – HTTP-POST-Variable
-->$_REQUEST – HTTP-Anfragevariable, bestehend aus GET, POST. COOKEEVariablen, die an das Skript übermittelt werden, sind nicht vertrauenswürdig
-->$_FILES — HTTP-Datei-Upload-Variablen
-->$_SESSION — Sitzungsvariablen
-->$_COOKIE — HTTP-Cookies, über hスtpcoスススAn das Skript übermittelte Variablen
(4) Array-bezogene Verarbeitungsfunktionen
1. Array-Schlüsselwert-Operationsfunktionen
-->array_values(): Rückgabe Alle Werte im Array
-->array_keys(): Gibt alle Schlüsselnamen im Array zurück
-->in_array(): Prüft, ob ein bestimmter Wert im Array vorhanden ist, also sucht für einen bestimmten Wert im Array-Wert. Array_search() kann ebenfalls verwendet werden.
-->array_key_exits(): Überprüfen Sie, ob der angegebene Schlüsselname oder Index im Array vorhanden ist
-->array_flip(): Tauschen Sie die Schlüssel und Werte im Array aus und geben Sie das ausgetauschte Array zurück. Wenn ein Wert mehrmals vorhanden ist, wird der letzte Schlüsselname als Wert verwendet, um den vorherigen Wert zu überschreiben
-->array_reverse(): Kehrt die Reihenfolge der Elemente im Array um, erstellt ein neues Array und gibt es zurück. Das heißt, ordnen Sie die Array-Elemente in umgekehrter Reihenfolge an.
2. Zählen Sie die Anzahl und Eindeutigkeit der Array-Elemente
-->count(): Berechnen Sie die Anzahl der Elemente im Array oder die Anzahl der Attribute im Objekt
--> array_count_values( ): Zählt die Häufigkeit aller Werte im Array
-->array_unique(): Löscht doppelte Werte im Array und gibt ein neues Array zurück
3. Funktionen die Callback-Funktionen verwenden, um Arrays zu verarbeiten
-->array_filter(): Verwenden Sie die Callback-Funktion, um die Elemente im Array zu filtern und ein neues Array zurückzugeben, das durch die benutzerdefinierte Funktion gefiltert wurde
-->array_walk( ): Wenden Sie die Rückruffunktion auf jedes Element im Array an, geben Sie bei Erfolg TRUE zurück, andernfalls FALSE
-->array_map(): Wenden Sie die Rückruffunktion auf die Elemente des angegebenen Arrays an (kann mehrere Arrays verarbeiten), und das Array zurückgeben, nachdem die benutzerdefinierte Funktion angewendet wurde
- ->array_filter(): Verwenden Sie die Rückruffunktion, um die Elemente im Array zu filtern, und geben Sie das neue Array zurück, gefiltert durch die benutzerdefinierte Funktion
-->array_filter(): Verwenden Sie die Rückruffunktion, um die Elemente im Array zu filtern, und geben Sie das neue Array zurück, das durch die benutzerdefinierte Funktion „Neues Array“ nach der benutzerdefinierten Funktionsfilterung gefiltert wurde
Array-Sortierfunktion
5. Arrays aufteilen, zusammenführen, zerlegen und kombinieren
-->array_slice(): Einen Wert im Array basierend auf Bedingungen herausnehmen und zurückgeben
-->array_splice( ): Wählen Sie einen Wert im Array basierend auf Bedingungen aus, löschen Sie ihn oder ersetzen Sie ihn durch andere Werte
-->array_combine(): Erstellen Sie ein Array und verwenden Sie den Wert eines Arrays als Schlüsselnamen und den Wert eines anderen Arrays als dessen Wert
-->array_merge(): Ein oder mehrere Arrays zusammenführen
-->array_intersect(): Berechnet das Array. Die Schnittmenge von
-->array_diff(): Berechnen Sie die Differenz von Arrays
-->array_slice(): Entfernen Sie einen Wert basierend auf Bedingungen aus dem Array und geben Sie ihn zurück
6. Andere häufig verwendete Funktionen
-->array_rand(): Entferne zufällig ein oder mehrere Elemente aus dem Array
-->shuffle(): Mische die Reihenfolge der Elemente im Array.
-->array_sum(): Berechne die Summe aller Werte in einem Array
-->range(): Erstellt ein Array mit Zellen im angegebenen Bereich
(5) Arrays und Datenstrukturen
In stark typisierten Programmiersprachen gibt es dedizierte Datenstrukturen Lösung. Normalerweise wird ein Container erstellt, in dem jede Art von Daten gespeichert werden kann. Die Kapazität des Containers kann anhand der im Container gespeicherten Daten bestimmt werden, und die Containerstruktur kann in der Länge variabel sein, z. B. verknüpfte Listen oder Stapel , Warteschlangen usw., allesamt häufig verwendete Formen. In PHP werden Arrays normalerweise verwendet, um Arbeiten abzuschließen, für deren Ausführung andere Sprachen Datenstrukturen verwenden können. Es handelt sich um eine Typsprache, die mehrere Datentypen im selben Array speichern kann. In PHP gibt es keine Längenbeschränkung für Arrays. Die Kapazität des Arrays zum Speichern von Daten kann auch automatisch an die Zunahme oder Abnahme der Anzahl angepasst werden von Elementen im Inneren.
1. Verwenden Sie Arrays, um Stapel zu implementieren.
Stapel ist eine Implementierungsform der Datenstruktur. Die Datenstruktur übernimmt die Datenstruktur „First In, Last Out“. Behandeln Sie das Array in PHP als Stapel und verwenden Sie die beiden Funktionen array_push() und array_pop(), um die Push- und Pop-Vorgänge von Daten abzuschließen.
-->array_push(): Schieben Sie eine oder mehrere Einheiten an das Ende des Arrays (auf den Stapel schieben) und geben Sie dann die Länge der neuen Gruppe zurück.
-->array_pop(): Die letzte Einheit des Arrays in das Array einfügen (vom Stapel entfernen)
2. Arrays verwenden, um Warteschlangen zu implementieren
Warteschlange ist eine Implementierungsform der Datenstruktur und „Datenstruktur „First in, first out“. In PHP wird das Array als Stapel behandelt und die Funktionen array_push() und array_shift() werden verwendet, um den Datenwarteschlangenvorgang abzuschließen.
array_shift()
Folgen Sie der chinesischen PHP-Website!
So weisen Sie Werte in einem Array einer Reihe von Variablen in PHP zu
PHP Hintergrundkommentare Implementierung von
Das obige ist der detaillierte Inhalt vonPHP-Arrays und Datenstrukturen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!