Table des matières
回复讨论(解决方案)
Maison développement back-end tutoriel php 帮忙解释两个for循环

帮忙解释两个for循环

Jun 23, 2016 pm 01:50 PM
循环 expliquer

各位大大,这是一个用*输出倒直角三角形的例子,这两个for循环我不是很白,特别是里面的那个,能解释下么,谢谢啦~

    for($i=1;$i<15;$i++){        for($j=$i;$j<15;$j++){            echo "*";        }       echo "<br>";    }
Copier après la connexion


回复讨论(解决方案)

为什么还要有个变量$j去等于外层的变量$i,再次循环一遍呢?

你首先理解下单个发for循环含义!如果里面不再做一次循环就不会出现3角了,而是竖着的14个*

$j = $i;//是让内层循环的起始值等于外层的值//每次都少输出一个*//外层第一次循环,内层输出14个*//外层第二次循环,内层输出13个*//以此类推只到循环结束
Copier après la connexion

$j = $i;
关于这两个变量,我这样说看你能不能理解。
$i代表的是行数,即第一次循环代表第一行,依次类推,一共十五行。
$j代表的是列数,即每一行有多少列。

把代码稍改动下,输出一个矩形,帮助你理解。改动的地儿:$j=1。

<?php for($i=1;$i<15;$i++){        for($j=1;$j<15;$j++){             echo "*";        }       echo "<br>";    }?> 
Copier après la connexion

理解for循环
其实可以输出四种直角三角形

$i 可以看做是行, $j可以看做是列
首先看 $i =1;的时候$j =1; j<15,也就是里面的for会循环14次,第一行就会出现14个*,然后里面的for结束开始 $i=2;的循环
然后看 $i =2;的时候$j=2;j<15,里面的for会循环13次,出现13个*,后,开始执行$i=3;
…………
一次循环,最后得到第一行14个*,共14行,最后一行一个*,不知是否清楚.

多练练九九乘法表的输出和菱形的输出

这个我都能理解唉,i=1的时候 第二个for循环1<15 是不是循环14个星 i=2的时候 循环13 以此类推

$i控制执行的行数。
$j控制每一行输出的*数。
很好理解啊。

因为从第一行开始,你的星号个数就要递减,知道了规律,你再结合代码就容易理解了。其实代码还可以这样写。

for($i=1;$i<15;$i++){        for($j=0;$j<15-$i;$j++){             echo "*";        }       echo "<br>";    }
Copier après la connexion

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelle est l'analyse de l'écran 2,8k ? Quelle est l'analyse de l'écran 2,8k ? Jan 02, 2024 pm 12:21 PM

Nous voyons souvent l'introduction du nombre d'écrans K dont nous disposons lors de l'achat de téléviseurs, d'ordinateurs ou de téléphones portables, comme les écrans 2,8K. À cette époque, il y aura des amis qui ne connaissent pas grand-chose aux appareils électroniques et seront curieux de savoir ce que signifie cet écran 2,8K et quelle est la résolution. Que signifie un écran 2,8k ? Réponse : Un écran 2,8k signifie que la résolution de l'écran est de 2880*18002K, ce qui signifie que le nombre de pixels horizontaux est supérieur à 2000. Pour un écran de même taille, plus la résolution est élevée, meilleure est la qualité de l'image. . Introduction à la résolution 1. Étant donné que les points, lignes et surfaces sur l'écran sont tous composés de pixels, plus le moniteur peut afficher de pixels, plus l'image est fine et plus d'informations peuvent être affichées dans la même zone d'écran. 2. Plus la résolution est élevée, plus le nombre de pixels est élevé et plus l'image détectée est nette.

L'expression lambda sort de la boucle L'expression lambda sort de la boucle Feb 20, 2024 am 08:47 AM

L'expression Lambda sort de la boucle, des exemples de code spécifiques sont nécessaires en programmation, la structure de boucle est une syntaxe importante qui est souvent utilisée. Cependant, dans certaines circonstances, nous pouvons vouloir sortir de la boucle entière lorsqu'une certaine condition est remplie dans le corps de la boucle, plutôt que de simplement terminer l'itération en cours de la boucle. À l'heure actuelle, les caractéristiques des expressions lambda peuvent nous aider à atteindre l'objectif de sortir de la boucle. L'expression Lambda est un moyen de déclarer une fonction anonyme, qui peut définir une logique de fonction simple en interne. C'est différent d'une déclaration de fonction ordinaire,

Une étude comparative des boucles et de la récursivité en langage Go Une étude comparative des boucles et de la récursivité en langage Go Jun 01, 2023 am 09:23 AM

Remarque : Cet article compare les boucles et la récursivité du point de vue du langage Go. Lors de l'écriture de programmes, vous rencontrez souvent des situations dans lesquelles une série de données ou d'opérations doivent être traitées de manière répétée. Pour y parvenir, nous devons utiliser des boucles ou de la récursivité. Les boucles et les récursions sont toutes deux des méthodes de traitement couramment utilisées, mais dans les applications pratiques, elles présentent chacune des avantages et des inconvénients, c'est pourquoi la situation réelle doit être prise en compte lors du choix de la méthode à utiliser. Cet article mènera une étude comparative des boucles et de la récursivité dans le langage Go. 1. Boucle Une boucle est un mécanisme qui exécute de manière répétée un certain morceau de code. Il existe trois principaux types de langage Go

Quelles sont les alternatives aux appels récursifs dans les fonctions Java ? Quelles sont les alternatives aux appels récursifs dans les fonctions Java ? May 05, 2024 am 10:42 AM

Remplacement des appels récursifs dans les fonctions Java par itération En Java, la récursivité est un outil puissant utilisé pour résoudre divers problèmes. Cependant, dans certains cas, l’utilisation de l’itération peut s’avérer une meilleure option car elle est plus efficace et moins sujette aux débordements de pile. Voici les avantages de l'itération : Plus efficace puisqu'elle ne nécessite pas la création d'un nouveau stack frame à chaque appel récursif. Les débordements de pile sont moins susceptibles de se produire car l'utilisation de l'espace de pile est limitée. Méthodes itératives comme alternative aux appels récursifs : Il existe plusieurs méthodes en Java pour convertir des fonctions récursives en fonctions itératives. 1. Utiliser la pile L'utilisation de la pile est le moyen le plus simple de convertir une fonction récursive en fonction itérative. La pile est une structure de données dernier entré, premier sorti (LIFO), similaire à une pile d'appels de fonction. publicintfa

Java Iterator vs Iterable : une étape vers l'écriture de code élégant Java Iterator vs Iterable : une étape vers l'écriture de code élégant Feb 19, 2024 pm 02:54 PM

Interface Iterator L'interface Iterator est une interface utilisée pour parcourir les collections. Il fournit plusieurs méthodes, notamment hasNext(), next() et remove(). La méthode hasNext() renvoie une valeur booléenne indiquant s'il existe un élément suivant dans la collection. La méthode next() renvoie l'élément suivant de la collection et le supprime de la collection. La méthode Remove() supprime l'élément actuel de la collection. L'exemple de code suivant montre comment utiliser l'interface Iterator pour parcourir une collection : Listnames=Arrays.asList("John","Mary","Bob");Iterator

PHP renvoie toutes les valeurs du tableau pour former un tableau PHP renvoie toutes les valeurs du tableau pour former un tableau Mar 21, 2024 am 09:06 AM

Cet article expliquera en détail comment PHP renvoie toutes les valeurs d'un tableau pour former un tableau. L'éditeur pense que c'est assez pratique, je le partage donc avec vous comme référence. J'espère que vous pourrez gagner quelque chose après avoir lu cet article. . Utilisation de la fonction array_values() La fonction array_values() renvoie un tableau de toutes les valeurs d'un tableau. Il ne conserve pas les clés du tableau d'origine. $array=["foo"=>"bar","baz"=>"qux"];$values=array_values($array);//$values ​​​​sera ["bar","qux"]Utilisation une boucle peut utiliser une boucle pour obtenir manuellement toutes les valeurs du tableau et les ajouter à un nouveau

Utiliser la vectorisation pour remplacer les boucles en python Utiliser la vectorisation pour remplacer les boucles en python Apr 14, 2023 pm 07:07 PM

Tous les langages de programmation sont indissociables des boucles. Ainsi, par défaut, nous commençons à exécuter une boucle chaque fois qu’il y a une opération répétitive. Mais lorsqu’il s’agit d’un grand nombre d’itérations (millions/milliards de lignes), utiliser des boucles est un crime. Vous pourriez rester bloqué pendant quelques heures, pour vous rendre compte plus tard que cela ne fonctionne pas. C'est là que l'implémentation de la vectorisation en python devient très critique. Qu’est-ce que la vectorisation ? La vectorisation est une technique permettant d'implémenter des opérations de tableau (NumPy) sur des ensembles de données. En coulisse, il applique l'opération à tous les éléments du tableau ou de la série à la fois (contrairement à une boucle "for" qui opère une ligne à la fois). Nous utilisons ensuite quelques cas d'utilisation pour démontrer ce qu'est la vectorisation. Trouver la somme des nombres##Utilisez la boucle importtimestart

Aventures en boucles et itérations : une aventure en code Python Aventures en boucles et itérations : une aventure en code Python Feb 19, 2024 pm 08:48 PM

Boucles et itérations : concepts de base de la programmation Les boucles et les itérations sont des concepts essentiels en programmation qui permettent à un programme d'exécuter de manière répétée un ensemble d'instructions. Les boucles sont utilisées pour spécifier explicitement le nombre de répétitions, tandis que les itérations sont utilisées pour parcourir les éléments d'une collection ou d'une structure de données. Types de boucles Il existe trois principaux types de boucles : 1. boucle for Une boucle for est utilisée pour exécuter un bloc de code lorsque vous connaissez le nombre de répétitions. Sa syntaxe est la suivante : for (initialisation; condition; incrément/décrément) {//bloc de code à exécuter de manière répétée} Par exemple, la boucle for suivante imprime les nombres 1 à 10 : for(inti=1;i

See all articles