Inhaltsverzeichnis
Problem gelöst
Heim Backend-Entwicklung PHP-Problem Was ist die Verwendung von yield in PHP?

Was ist die Verwendung von yield in PHP?

May 27, 2021 pm 05:35 PM
php yield

Dieser Artikel stellt Ihnen die Verwendung von Yield in PHP vor. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Was ist die Verwendung von yield in PHP?

Ich habe schon einmal gehört, dass PHP selbst Coroutinen hat, also habe ich nachgeschlagen und davon erfahren.

Demo wurde in meine Github-Notizen hochgeladen

Problem gelöst

Beheben Sie den Engpass beim Ausführen von Speicher. Beim Lesen von Excel-Dateien ist nicht genügend Speicher vorhanden

Also legen wir die maximale Laufspeichereinstellung von PHP fest: ini_set('memory_limit', '200M')

Aber wenn wir eine Datei mit einer Größe von bis zu 5 g lesen, ist unser Laufspeicher möglicherweise zu groß, also wählen wir yield

Erste Bekanntschaft mit Yield

Lauf:

Fatal Error: Allowed memory size of xxxxxx bytes
Nach dem Login kopieren

Was ist die Verwendung von yield in PHP?

Die Zeit ist die gleiche. Wenn yield verwendet wird:

<?php
function createRange($number){
    $data = [];
    for($i=0;$i<$number;$i++){
        $data[] = time();
    }
    return $data;
}
$data =createRange(10);
foreach($data as $value){
    sleep(1);//这里停顿1秒,我们后续有用
    echo $value.PHP_EOL;
}
Nach dem Login kopieren

Was ist die Verwendung von yield in PHP?

Das Zeitintervall beträgt eine Sekunde. Am Beispiel von yield wissen wir also, dass der Inhalt der for-Schleife nicht wie im ersten Beispiel im Speicher gespeichert, sondern einzeln verbraucht wird eins.

Beispiel für das Lesen einer Datei

Erstellen Sie eine TXT-Datei und schreiben Sie:

<?php

function createRange($number){
    for($i=0;$i<$number;$i++){
        yield time();
    }
}
$data =createRange(10);
foreach($data as $value){
    sleep(1);//这里停顿1秒,我们后续有用
    echo $value.PHP_EOL;
}
Nach dem Login kopieren
第1行
第2行
第3行
第4行
第5行
第6行
第7行
第8行
Nach dem Login kopieren

Verwenden Sie PHP, um die Datei zu lesen, d. Und dann gehen wir tiefer

Empfohlenes Lernen:

php-Video-TutorialWas ist die Verwendung von yield in PHP?

Das obige ist der detaillierte Inhalt vonWas ist die Verwendung von yield in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian

CakePHP Datum und Uhrzeit CakePHP Datum und Uhrzeit Sep 10, 2024 pm 05:27 PM

CakePHP Datum und Uhrzeit

CakePHP-Datei hochladen CakePHP-Datei hochladen Sep 10, 2024 pm 05:27 PM

CakePHP-Datei hochladen

CakePHP-Routing CakePHP-Routing Sep 10, 2024 pm 05:25 PM

CakePHP-Routing

Besprechen Sie CakePHP Besprechen Sie CakePHP Sep 10, 2024 pm 05:28 PM

Besprechen Sie CakePHP

CakePHP-Projektkonfiguration CakePHP-Projektkonfiguration Sep 10, 2024 pm 05:25 PM

CakePHP-Projektkonfiguration

CakePHP-Kurzanleitung CakePHP-Kurzanleitung Sep 10, 2024 pm 05:27 PM

CakePHP-Kurzanleitung

CakePHP erstellt Validatoren CakePHP erstellt Validatoren Sep 10, 2024 pm 05:26 PM

CakePHP erstellt Validatoren

See all articles