Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-basierte Analyse zur erzwungenen Aufteilung

PHP-basierte Analyse zur erzwungenen Aufteilung

藏色散人
藏色散人nach vorne
2020-03-06 16:12:102732Durchsuche

Lernen erfordert das Wissen, was es ist und warum es ist, und das zugrunde liegende Wissen im Zusammenhang mit PHP ist diese Art von Wissen.

Empfohlen: „PHP-Training

Heute sprechen wir über erzwungene Aufteilung. Vereinfacht ausgedrückt bedeutet erzwungene Aufteilung „bevor der Referenzvariablen aktiv ein Wert zugewiesen wird.“ Wenn einer Variablen ein Wert zugewiesen wird, kommt es zu einer erzwungenen Aufteilung. „

Es ist etwas verwirrend zu sagen, schauen wir uns die Codeanalyse an.

Sehen Sie sich den folgenden Code an:

PHP-basierte Analyse zur erzwungenen Aufteilung

Wenn Sie mit PHP: & Referenzsymbolen ein wenig vertraut sind, sollten Sie erkennen können, dass die Ausgabe gzchen ist , acht Uhr dreißig abends, gzchen .

Dann werfen wir einen Blick auf den zugrunde liegenden laufenden Prozess des obigen Codes.

Wie wir alle wissen, ist eine Variable eine Struktur, die wie folgt aussieht:

PHP-basierte Analyse zur erzwungenen Aufteilung

Diese Datei ist in zend.h PHP-Quellcode Zend-Verzeichnis.

Wenn der Code in Zeile 3 [$name = '8:30 Uhr abends'] ausgeführt wird, sieht die Struktur im Speicher wie folgt aus:

PHP-basierte Analyse zur erzwungenen Aufteilung

Wenn der Code in Zeile: 4[Name] ausgeführt wird, sieht die Struktur wie folgt aus:

PHP-basierte Analyse zur erzwungenen Aufteilung

Läuft in Zeile: 5[<span style="font-size: 14px; line-height: 1.76em;">Misplaced &</span>Name] und Zeile :[$nameCopy = 'gzchen'], etwa so:

PHP-basierte Analyse zur erzwungenen Aufteilung

Hier, hier, hier findet eine erzwungene Aufteilung statt.

Wenn is_ref__gc[Referenzattribut] von 0->1 geht, wenn refcont_gc>1, dann erfolgt eine erzwungene Aufteilung. Der Pseudocode lautet:

PHP-basierte Analyse zur erzwungenen Aufteilung

Dies ist eine erzwungene Aufteilung. Variablen, denen ein Wert zugewiesen wurde, werden referenziert und erneut zugewiesen. Die durch den Wert zugewiesene Variable wird in eine Struktur aufgeteilt, in diesem Fall $myName.

Dieses Prinzip wird in der tatsächlichen Entwicklung grundsätzlich nicht verwendet, aber die erzwungene Aufteilung wird normalerweise zusammen mit Copy-on-Write(Cow) in Interviews getestet.

Weitere Inhalte zum Thema Programmierung finden Sie in der Spalte Einführung in die Programmierung auf der chinesischen PHP-Website!

Das obige ist der detaillierte Inhalt vonPHP-basierte Analyse zur erzwungenen Aufteilung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen