Cet article vous présentera l'utilisation de rendement en php. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
J'ai déjà entendu dire qu'il y avait des coroutines en PHP, alors je l'ai vérifié et j'en ai entendu parler.
La démo a été téléchargée sur mes notes github
Résoudre le goulot d'étranglement de la mémoire en cours d'exécution Les variables du programme PHP sont stockées dans la mémoire I. Je l'ai déjà rencontré lors de la lecture d'un fichier Excel, la mémoire sera insuffisante et il apparaîtra :
Fatal Error: Allowed memory size of xxxxxx bytes
, donc le paramètre de mémoire d'exécution maximum de php sera défini : ini_set('memory_limit', '200M ')
Mais quand nous lisons Lors de la récupération d'un fichier aussi gros que 5 Go, nous ne pourrons peut-être pas gérer la mémoire en cours d'exécution, nous choisirons donc le rendement
pour courir :
<?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; }
L'heure est la même. Si le rendement est utilisé :
<?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; }
L'intervalle de temps est d'une seconde, donc à travers l'exemple du rendement, on sait que ce n'est pas comme le premier exemple de stocker le contenu de la boucle for en mémoire, mais consommée une par une.
Créez un fichier txt et écrivez :
第1行 第2行 第3行 第4行 第5行 第6行 第7行 第8行
Utilisez php pour lire le fichier, il se lit ligne par ligne
À ce stade, vous connaissez probablement la fonction de rendement, puis nous approfondirons
Apprentissage recommandé : Tutoriel vidéo php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!