猿问
下载APP

for循环正方形 我想把这个正方形镂空成这样,但是逻辑找不到了,莫得思路呀,哪位神仙提点下

     田 田  田 田 田
     田      田      田
     田 田 田  田 田
     田      田      田
     田 田  田 田 田

$n=5;
    for($i=1;$i<=$n;$i++){
        for($k=$n-1;$k>=0;$k--){
                echo "田";
        }
        echo "</br>";
    }

_6两颗星星红红的9_
浏览 93回答 1
1回答

pardon110

你可以考虑写字的思路,从左到右,从上到下,观察发现实行三行,首中尾,中上行皆为镂空,中下行亦是,因此可以这样做。$n = 5; // 实行 $solid= str_repeat(1,$n); // 虚行 $space = str_repeat(0,$n); $space[0]=1; $space[$n-1]=1; $space[intval($n/2)]=1; $fmt = "{$solid}\n{$space}\n{$solid}\n{$space}\n{$solid}\n";输出效果如下// 控制台输出 echo str_replace(["1","0"],['田',' '],$fmt); // html浏览器输出 echo str_replace(["1","0"],['田',' '],nl2br($fmt))田田田田田 田  田  田 田田田田田 田  田  田 田田田田田 田田田田田<br /> 田  田  田<br /> 田田田田田<br /> 田  田  田<br /> 田田田田田<br />
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答