Jadual Kandungan
回复讨论(解决方案)
Rumah pembangunan bahagian belakang tutorial php 帮忙解释两个for循环

帮忙解释两个for循环

Jun 23, 2016 pm 01:50 PM
kitaran terangkan

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

    for($i=1;$i<15;$i++){        for($j=$i;$j<15;$j++){            echo "*";        }       echo "<br>";    }
Salin selepas log masuk


回复讨论(解决方案)

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

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

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

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

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

<?php for($i=1;$i<15;$i++){        for($j=1;$j<15;$j++){             echo "*";        }       echo "<br>";    }?> 
Salin selepas log masuk

理解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>";    }
Salin selepas log masuk

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah analisis skrin 2.8k? Apakah analisis skrin 2.8k? Jan 02, 2024 pm 12:21 PM

Kita sering melihat pengenalan bilangan K skrin yang kita ada semasa membeli TV, komputer atau telefon mudah alih, seperti skrin 2.8K. Pada masa ini, akan ada rakan yang tidak tahu sangat tentang peranti elektronik dan akan tertanya-tanya tentang maksud skrin 2.8K ini dan apakah resolusinya. Apakah maksud skrin 2.8k? Jawapan: Skrin 2.8k bermakna resolusi skrin ialah 2880*18002K, bermakna bilangan piksel mendatar adalah lebih besar daripada 2000. Untuk skrin saiz yang sama, lebih tinggi resolusi, lebih baik kualiti gambar . Pengenalan kepada peleraian 1. Memandangkan titik, garisan dan permukaan pada skrin semuanya terdiri daripada piksel, lebih banyak piksel yang boleh dipaparkan oleh monitor, lebih halus gambar dan lebih banyak maklumat boleh dipaparkan dalam kawasan skrin yang sama. 2. Lebih tinggi resolusi, lebih banyak bilangan piksel, dan lebih tajam imej deria.

Ekspresi Lambda terkeluar daripada gelung Ekspresi Lambda terkeluar daripada gelung Feb 20, 2024 am 08:47 AM

Ekspresi Lambda keluar dari gelung, contoh kod khusus diperlukan Dalam pengaturcaraan, struktur gelung ialah sintaks penting yang sering digunakan. Walau bagaimanapun, dalam keadaan tertentu, kita mungkin mahu keluar daripada keseluruhan gelung apabila keadaan tertentu dipenuhi dalam badan gelung, dan bukannya menamatkan lelaran gelung semasa. Pada masa ini, ciri-ciri ungkapan lambda boleh membantu kita mencapai matlamat untuk melompat keluar dari gelung. Ungkapan Lambda ialah cara untuk mengisytiharkan fungsi tanpa nama, yang boleh mentakrifkan logik fungsi mudah secara dalaman. Ia berbeza daripada pengisytiharan fungsi biasa,

Kajian perbandingan gelung dan rekursi dalam bahasa Go Kajian perbandingan gelung dan rekursi dalam bahasa Go Jun 01, 2023 am 09:23 AM

Nota: Artikel ini membandingkan gelung dan rekursi dari perspektif bahasa Go. Semasa menulis program, anda sering menghadapi situasi di mana satu siri data atau operasi perlu diproses berulang kali. Untuk mencapai ini kita perlu menggunakan gelung atau rekursi. Gelung dan rekursi adalah kedua-dua kaedah pemprosesan yang biasa digunakan, tetapi dalam aplikasi praktikal, mereka masing-masing mempunyai kelebihan dan kekurangan, jadi keadaan sebenar perlu dipertimbangkan apabila memilih kaedah yang hendak digunakan. Artikel ini akan menjalankan kajian perbandingan gelung dan rekursi dalam bahasa Go. 1. Gelung Gelung ialah mekanisme yang berulang kali melaksanakan sekeping kod tertentu. Terdapat tiga jenis utama bahasa Go

PHP mengembalikan semua nilai dalam tatasusunan untuk membentuk tatasusunan PHP mengembalikan semua nilai dalam tatasusunan untuk membentuk tatasusunan Mar 21, 2024 am 09:06 AM

Artikel ini akan menerangkan secara terperinci bagaimana PHP mengembalikan semua nilai tatasusunan untuk membentuk tatasusunan Editor berpendapat ia agak praktikal, jadi saya berkongsi dengan anda sebagai rujukan . Menggunakan fungsi array_values() Fungsi array_values() mengembalikan tatasusunan semua nilai dalam tatasusunan. Ia tidak mengekalkan kunci tatasusunan asal. $array=["foo" =>"bar","baz" =>"qux"];$values=array_values($array);//$values ​​​​akan menjadi ["bar","qux"]Menggunakan gelung boleh Gunakan gelung untuk mendapatkan semua nilai tatasusunan secara manual dan menambahnya kepada yang baharu

Java Iterator vs. Iterable: Satu langkah untuk menulis kod elegan Java Iterator vs. Iterable: Satu langkah untuk menulis kod elegan Feb 19, 2024 pm 02:54 PM

Antara muka Iterator Antara muka Iterator ialah antara muka yang digunakan untuk melintasi koleksi. Ia menyediakan beberapa kaedah, termasuk hasNext(), next() dan remove(). Kaedah hasNext() mengembalikan nilai Boolean yang menunjukkan sama ada terdapat elemen seterusnya dalam koleksi. Kaedah next() mengembalikan elemen seterusnya dalam koleksi dan mengeluarkannya daripada koleksi. Kaedah remove() mengalih keluar elemen semasa daripada koleksi. Contoh kod berikut menunjukkan cara menggunakan antara muka Iterator untuk mengulang koleksi: Listnames=Arrays.asList("John","Mary","Bob");Iterator

Apakah alternatif kepada panggilan rekursif dalam fungsi Java? Apakah alternatif kepada panggilan rekursif dalam fungsi Java? May 05, 2024 am 10:42 AM

Penggantian panggilan rekursif dalam fungsi Java dengan lelaran Dalam Java, rekursi ialah alat berkuasa yang digunakan untuk menyelesaikan pelbagai masalah. Walau bagaimanapun, dalam beberapa kes, menggunakan lelaran mungkin merupakan pilihan yang lebih baik kerana ia lebih cekap dan kurang terdedah kepada limpahan tindanan. Berikut ialah kelebihan lelaran: Lebih cekap kerana ia tidak memerlukan penciptaan bingkai tindanan baharu untuk setiap panggilan rekursif. Limpahan tindanan kurang berkemungkinan berlaku kerana penggunaan ruang tindanan adalah terhad. Kaedah berulang sebagai alternatif kepada panggilan rekursif: Terdapat beberapa kaedah dalam Java untuk menukar fungsi rekursif kepada fungsi berulang. 1. Gunakan tindanan Menggunakan tindanan ialah cara paling mudah untuk menukar fungsi rekursif kepada fungsi berulang. Tindanan ialah struktur data masuk-dahulu-keluar (LIFO), serupa dengan timbunan panggilan fungsi. publicintfa

Menggunakan vektorisasi untuk menggantikan gelung dalam python Menggunakan vektorisasi untuk menggantikan gelung dalam python Apr 14, 2023 pm 07:07 PM

Semua bahasa pengaturcaraan tidak dapat dipisahkan daripada gelung. Jadi, secara lalai, kami mula melaksanakan gelung apabila terdapat operasi berulang. Tetapi apabila kita berhadapan dengan sejumlah besar lelaran (berjuta-juta/berbilion baris), menggunakan gelung adalah satu jenayah. Anda mungkin terperangkap selama beberapa jam, hanya untuk menyedari kemudian bahawa ia tidak berfungsi. Di sinilah pelaksanaan vektorisasi dalam python menjadi sangat kritikal. Apakah vektorisasi? Vektorisasi ialah teknik untuk melaksanakan operasi tatasusunan (NumPy) pada set data. Di sebalik tabir, ia menggunakan operasi kepada semua elemen tatasusunan atau siri sekali gus (tidak seperti gelung "untuk" yang mengendalikan satu baris pada satu masa). Seterusnya kami menggunakan beberapa kes penggunaan untuk menunjukkan apa itu vektorisasi. Cari jumlah nombor##Gunakan gelung importtimestart

Cara mengendalikan ralat bersarang gelung PHP dan menjana mesej ralat yang sepadan Cara mengendalikan ralat bersarang gelung PHP dan menjana mesej ralat yang sepadan Aug 07, 2023 pm 01:33 PM

Cara mengendalikan ralat bersarang gelung PHP dan menjana mesej ralat yang sepadan Semasa pembangunan, kami sering menggunakan pernyataan gelung untuk mengendalikan tugasan berulang, seperti merentasi tatasusunan dan memproses hasil pertanyaan pangkalan data. Walau bagaimanapun, apabila menggunakan sarang gelung, anda kadangkala menghadapi ralat, seperti gelung tak terhingga atau terlalu banyak tahap sarang Masalah ini boleh menyebabkan prestasi pelayan merosot atau ranap. Untuk mengendalikan ralat tersebut dengan lebih baik dan menjana mesej ralat yang sepadan, artikel ini akan memperkenalkan beberapa kaedah pemprosesan biasa dan memberikan contoh kod yang sepadan. 1. Gunakan kaunter untuk

See all articles