Cet article présente principalement le rôle du rendement php, qui a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer
function createRange($number){ for($i=0;$i<$number;$i++){ yield time(); } }$result = createRange(10); // 这里调用上面我们创建的函数 foreach($result as $value){ sleep(1); echo $value.'<br />'; }
Appelez d'abord la fonction createRange, en passant le paramètre , mais la valeur 10
for est exécutée une fois puis s'arrête, et indique à foreach la valeur qui peut être utilisée pour la première boucle.
foreach commence l'appariement $result Boucle, entrez d'abord sleep(1), puis commencez à utiliser une valeur donnée par for pour effectuer la sortie.
préparation pour chaque Dans la deuxième boucle, avant de démarrer la deuxième boucle, il demande à nouveau la boucle for.
La boucle for l'exécute ensuite à nouveau et indique l'horodatage généré foreach.
foreach obtient la deuxième valeur et la génère. Puisque sleep(1) est en foreach, la boucle for est retardée d'1 seconde pour générer l'heure actuelle
Ainsi, pendant toute l'exécution du code, il n'y a toujours qu'une seule valeur d'enregistrement participant à la boucle, et il n'y a qu'une seule information dans la mémoire.
Peu importe la taille du $numéro initialement transmis, puisque tous les jeux de résultats ne sont pas générés immédiatement, la mémoire est toujours une boucle de valeurs.
Recommandations associées :
Compréhension approfondie des mots-clés statiques et de rendement en php
Introduction détaillée sur le rendement
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!