Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Erklärung der Array-Zeiger in PHP

Detaillierte Erklärung der Array-Zeiger in PHP

小云云
小云云Original
2018-03-13 09:48:407274Durchsuche

Dieser Artikel teilt Ihnen hauptsächlich die detaillierte Erklärung des Array-Zeigers in PHP mit. Zuerst werden wir Ihnen die Funktionsweise des PHP-Array-Zeigers vorstellen.

1. PHP-Array-Zeigeroperation

Verwenden Sie die integrierten Funktionen von PHP: key, current, next(), prev(), um zum vorherigen zu wechseln eins,

reset() setzt zurück und bewegt sich zum ersten Element, end() bewegt sich zum letzten Element

Beachten Sie, dass eine relative Bewegung (next, prev) nicht möglich ist, sobald die Zeigerposition illegal ist erledigt werden, kann sich absolut bewegen (zurücksetzen, beenden), zurücksetzen, häufiger verwendet werden!

each() kombiniert die Funktionen von key, current und next! Nachdem Sie die aktuellen Elementinformationen erhalten haben, bewegen Sie den Zeiger auf das nächste Element!

Elementinformationsarray = every($arr).Bewegen Sie den Zeiger

Beachten Sie, dass das Elementinformationsarray zwei Darstellungsschemata hat: Index und Assoziation.

Wobei: Index: 0, 1 repräsentiert Schlüssel bzw. Wert, Assoziation: Schlüssel, Wert repräsentiert Schlüssel bzw. Wert

2. Häufig verwendete Zeigerdurchlaufmethoden

each+while+list durchläuft das Array

list-eachdurchläuft das Array

Detaillierte Erklärung der Array-Zeiger in PHP

Upgrade-Vorgang:

erhält vereinfacht Schlüsselvariablen und Wertvariablen!

Detaillierte Erklärung der Array-Zeiger in PHP

Verwenden Sie die Listenstruktur

Verwenden Sie ein Indexarray, um mehrere Variablen gleichzeitig zu initialisieren! Der Rückgabewert von

Detaillierte Erklärung der Array-Zeiger in PHP


each enthält das Indexarray 0 als Schlüssel, 1 ist der Wert!

Vereinfachte Ergebnisse mit Liste:

Detaillierte Erklärung der Array-Zeiger in PHP


Tatsächlich: Solange eine Schleifenstruktur vorhanden ist, können Zeigeroperationen das Durchlaufen des Arrays abschließen


3. Diskussion von Array-Zeigerproblemen


Wenn Sie über das Kopieren eines Zeigerpositionsproblems nachdenken:

Detaillierte Erklärung der Array-Zeiger in PHP


Was passiert, wenn der ursprüngliche Array-Zeiger bereits illegal ist?

Detaillierte Erklärung der Array-Zeiger in PHP


Schau noch einmal:

Detaillierte Erklärung der Array-Zeiger in PHP



Die Frage ist, wer nach dem Kopieren den aktuellen zuerst ausführt und welcher Array-Zeiger initialisiert wird!

Die Gründe für dieses Phänomen sind:

1. Wenn die Array-Zeigerposition ungültig ist, wird der neue Array-Zeiger während des Kopierens initialisiert!

2. Bei der Wertübergabe wendet PHP eine COW-Optimierungsmaßnahme (Copy on Write) an!

Zwei wichtige Punkte von Copy-on-Write:

Wenn der Wert übergeben wird, wird der Werteraum nicht sofort für die neue Variable geöffnet, und bis sich nicht beide Variablen geändert haben, wird einer geöffnet noch genutzter Value Space


Detaillierte Erklärung der Array-Zeiger in PHP

Sobald sich eine Variable ändert, wird der Wertebereich kopiert, sodass die geänderte Variable auf den neuen Bereich verweisen kann!


Detaillierte Erklärung der Array-Zeiger in PHP


Detaillierte Erklärung der Array-Zeiger in PHP



Beachten Sie, dass aktuell auch Schreibvorgänge ausgeführt werden, wodurch der Speicherplatz kopiert wird! Wer zuerst aktuell ist, ist der Neue und der Zeiger wird initialisiert!

Detaillierte Erklärung der Array-Zeiger in PHP


Wenn foreach

1, ist das, was durchlaufen wird Kopieren Sie anstelle des ursprünglichen Arrays!

2, Nur wenn ein Schreibvorgang im ursprünglichen Array erfolgt, wird die tatsächliche Kopie erstellt. Zu diesem Zeitpunkt bleibt der ursprüngliche Array-Zeiger an der aktuellen Position. Wenn er unzulässig ist, wird er initialisiert!

Detaillierte Erklärung der Array-Zeiger in PHP

Verwandte Empfehlungen:

Empfohlene PHP-Array-Zeigereffekte

PHP-Array-Zeiger

Detaillierte Erläuterung der Verwendung von PHP-Array-Zeigern

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der Array-Zeiger in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn