php 循环问题 大神们 下面是我的一段代码 我想打出菱形 为什么就成死循环了?
<?php$n=10;//可以用变量来控制的任何时候都可以的能不能用户输入一个数时下面的金字塔就变了for($q=1;$q<=$n;$q++){//在打印星号之前现在打印...
<?php
$n=10; //可以用变量来控制的 任何时候都可以的 能不能用户输入一个数时下面的金字塔就变了
for ($q=1;$q<=$n; $q++){
// 在打印星号之前现在打印空格
echo '<br/>';
for ($e=1 ; $e<=$n-$q;$e++){
echo " ";
}
for ( $w=1; $w<=($q-1)*2+1; $w++)//这个循环控制层里面星号的个数
{
if ($q==1/*||$q==$n*/){ //控制第一层和最后一层
echo '*';
} else{
if ($w==1||$w==($q-1)*2+1){ //判断怎么输出
echo "*";
}else{
echo " ";}
}
}
}
for ($a=$n-1;$a>1; $a--){
// 在打印星号之前现在打印空格
echo '<br/>';
for ($b=$n-1 ; $b>1;$b--){
echo " ";
}
for ( $c=$n-1; $c<=$n*2+1; $c--) //这个循环控制层里面星号的个数
{
if ($d==$n-1/*||$q==$n*/){
echo '*';}
else{
if (/*$c==$n-1||*/$c==($a-1)*2+1){ //判断怎么输出
echo "*";
}else{
echo " ";}
}
}
}
?> 展开
$n=10; //可以用变量来控制的 任何时候都可以的 能不能用户输入一个数时下面的金字塔就变了
for ($q=1;$q<=$n; $q++){
// 在打印星号之前现在打印空格
echo '<br/>';
for ($e=1 ; $e<=$n-$q;$e++){
echo " ";
}
for ( $w=1; $w<=($q-1)*2+1; $w++)//这个循环控制层里面星号的个数
{
if ($q==1/*||$q==$n*/){ //控制第一层和最后一层
echo '*';
} else{
if ($w==1||$w==($q-1)*2+1){ //判断怎么输出
echo "*";
}else{
echo " ";}
}
}
}
for ($a=$n-1;$a>1; $a--){
// 在打印星号之前现在打印空格
echo '<br/>';
for ($b=$n-1 ; $b>1;$b--){
echo " ";
}
for ( $c=$n-1; $c<=$n*2+1; $c--) //这个循环控制层里面星号的个数
{
if ($d==$n-1/*||$q==$n*/){
echo '*';}
else{
if (/*$c==$n-1||*/$c==($a-1)*2+1){ //判断怎么输出
echo "*";
}else{
echo " ";}
}
}
}
?> 展开
1个回答
展开全部
for( $c=$n-1; $c<=$n*2+1; $c--) // for($c = 9; $c < 9*2+1=18; $c--){???}
{
if ($d==$n-1/*||$q==$n*/){
echo '*';
} else {
if (/*$c==$n-1||*/$c==($a-1)*2+1){ //判断怎么输出
echo "*";
} else {
echo " ";}
}
}
要递增呢
追问
我是想打一个空心的菱形,那么下面一段代码是不是要反着输出* ??
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询