php 新手 提问php for输出*号
for($i = 1; $i<10;$i++){
for($j=10;$j>$i;$j--){
echo" ";}
for($a = 1; $a < $i;$a++){
echo "*";}
for($a = 1; $a < $i;$a++){
echo "*";}
{
echo "*";
}
echo "<br/>";
}
?>
谁能一步步帮我解答下,最后输出是个三角形。 展开
我把你的代码给改了一下,你试试,这样就好理解了,
外面的最大的循环就是I循环,每循环一次是输出一行,
而他里面包含的第一个for循环,也就是J循环,这个循环是个空循环,是不起作用的,
下边的我不解释了,你看图就应该明白了 ,如果还不明白再问我。
重点让你看一下第一个for循环,也就是你未输出的那个循环里输出的东西出现的不同效果。
重点看图,还有我红框框里面的。
<?php
echo "<div style='background:blueviolet;'>";
for($i = 1; $i<10;$i++){
for($j=10;$j>$i;$j--){
echo" ";
}
for($a = 1; $a < $i;$a++){
echo "<span style='color:red'>*</span>";
}
for($a = 1; $a < $i;$a++){
echo "<span style='color:blue'>*</span>";
}
{
echo "<span style='color:yellow'>*</span>";
}
echo "<br/>";
}
echo "</div>";
?>
三角形
每后行比前一行多2个*
每前一行比后一行多一个空格
最外层for定义总行数
被嵌套的第一个for定义每行的空格数,首空格数为总行数-1,每行空格数依次-1。
被嵌套的第二个和第三个for循环打印*,此处使用规律是每行比前一行多2个*
你的代码写的挺别扭的,我说的也挺别扭的,你自己看看能不能看懂吧。
<?php
function triangle($num){
for($i = 1; $i<$num;$i++){
for($j=($num-1);$j>$i;$j--){
echo " ";
}
for($a = 1; $a <= ($i*2-1);$a++){
echo "*";
}
echo "<br/>";
}
}
triangle(10);
?>
2014-10-09
至于为什么是三角新
<?php
for($i = 1; $i<10;$i++){
for($j=10;$j>$i;$j--){echo" ";}
for($a = 1; $a < $i;$a++){echo "*";}
for($a = 1; $a < $i;$a++){echo "*";}{echo "*";}
echo "<br/>";
}
?>
因为里面3个for循环都是嵌套在外面那个for循环中的
我知道他在大for里循环。。。问题是怎么循环了。。步骤是咋样啊
最外层 的for是执行9次啊,然后内层的空格输出数量从9,每次循环减少一次,
星数量的输出从
{echo "*";}一颗星
,通过另外两个for循环,每行输出的星数量加2
for($a = 1; $a ";就是换行
for($i = 1; $i<10;$i++){
for($a = 1; $a < $i;$a++){
echo "*";
}
echo "*";
echo "<br/>";
}
?>
外面那个for循环是总共有几行,里面那个for循环是当前行有多少个*+1个*