Maison >développement back-end >tutoriel php >Analyse de tableaux (générateurs) qui génèrent dynamiquement du contenu en PHP
Cet article vous présente l'analyse des tableaux (générateurs) de contenu généré dynamiquement en PHP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
Définition :
Générateur : "Un tableau de contenu généré dynamiquement", qui n'est produit que lorsque la valeur est utilisée.
Utilisé avec : mot clé rendement foreach
Processus :
En tant que méthode génératrice, cela équivaut à définir un tableau
Imaginez le scénario d'utilisation :
1. fichier, Lire ligne par ligne dans le générateur
2.? ? ?
gen.php 1 <?php 2 function gen() 3 { 4 echo '生成器开始执行' . PHP_EOL; 5 for ($i = 0; $i < 5; $i++) { 6 echo '产生数据之前:' . $i . PHP_EOL; 7 yield $i; 8 echo '产生数据之后:' . $i . PHP_EOL; 9 } 10 echo '再来一个数据' . PHP_EOL; 11 yield 5; 12 echo '生成器执行结束' . PHP_EOL; 13 } 14 $gen_func = gen(); 15 echo '生成器开始执行了吗?' . PHP_EOL; 16 foreach ($gen_func as $key => $val) { 17 echo '使用数据前' . PHP_EOL; 18 echo '使用数据:' . $val . PHP_EOL; 19 echo '使用数据后' . PHP_EOL; 20 //if ($key >= 4) { 21 //break; 22 //} 23 }Résultat de l'exécution :
php gen.php
Le générateur démarre l'exécution ?Le générateur commence à s'exécuter
Avant de générer des données :0
Avant d'utiliser des données
Utilisation de données :0
Après avoir utilisé des données
Après avoir généré des données :0
Avant de générer des données :1
Avant d'utiliser les données
Utiliser les données :1
Après avoir utilisé les données
Après avoir généré les données :1
Avant de générer les données :2
Avant d'utiliser les données
Utiliser les données :2
Après avoir utilisé les données
Après avoir généré les données : 2
Avant de générer les données : 3
Avant d'utiliser les données
Utiliser les données : 3
Après avoir utilisé les données
Après avoir généré les données : 3
Avant de générer des données : 4
Avant d'utiliser des données
Utiliser des données : 4
Après avoir utilisé des données
Après avoir généré des données : 4
Une autre donnée
Avant d'utiliser des données
Utiliser des données : 5
Après avoir utilisé les données
L'exécution du générateur se termine
1 La ligne 14 n'appelle pas le générateur gen. (). Juste défini ;
2. Après être entré dans la boucle foreach, commencez à appeler gen();3 Lorsque $val a besoin d'une valeur, mémorisez la position actuelle a et exécutez le générateur
4. Exécutez jusqu'à l'endroit où le rendement est défini, la valeur est obtenue, mémorisez la position actuelle b et revenez à la position a
5. Bouclez les étapes 3 et 4
6. de rendement La partie restante ;
7. Supprimez les commentaires sur les lignes 20, 21 et 22 et exécutez "Utiliser les données : 4 Après avoir utilisé les données", il n'y aura pas d'autre sortie.
1 $data = (yield $value);//OUI $data = rendement $value;/ /. NON
2. Vous pouvez utiliser le rendement $key => $val;3 Après PHP7, le rendement de peut appeler des générateurs, des tableaux, utiliser return, etc.
(Portail : disponible dans le manuel PHP)
Articles connexes recommandés :
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!