下面该怎么写?

下面该怎么写?

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<form action="#" method="post">
    <input type="text" placeholder="请输入要打印的行数" name="num"><br>
    <button type="submit" name="button" value="gold">金字塔</button>
    <button type="submit" name="button" value="dia">菱形</button>
</form>

<?php
error_reporting(E_ALL&~E_NOTICE);
//接收数据
$num=$_POST['num'];
if ($_POST){
//金字塔部分
 if ($_POST['button']=="gold"){
 for ($a=1;$a<=$num;$a++){
 for ($b=$a;$b<=$num;$b++){
 echo "<span style='color: #FFF'>*</span>";
 }
 for ($c=1;$c<=$a*2-1;$c++){
 echo "*";
 }
 echo '<br>';
 }
    }
 //空心菱形上半部分
 elseif ($_POST['button']=="dia"){
 for ($a=1;$a<=$num;$a++){
 for ($b=1;$b<=$num-$a;$b++){
 echo "<span style='color: red'>*</span>";
 }
 for ($c=1;$c<=$a*2-1;$c++){
 if ($c==1 || $c==$a*2-1){
 echo "*";
 }else{
 echo "<span style='color: #FFF'>*</span>";
 }
            }
 echo "<br>";
 }
 //空心菱形下半部分
 for ($a=1;$a<=$num-1;$a++){
 for ($b=1;$b<=$a;$b++){
 echo "<span style='color: red'>*</span>";
 }
 echo "<br>";
 }
    }

}
?>
</body>
</html>


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

您好,如下:

   //空心菱形下半部分
   for ($a=$num-1;$a>=1;$a--){
       for ($b=$num-1;$b>=$a;$b--){
          echo "<span style='color: red'>*</span>";
       }
       for ($c=1;$c<=$a*2-1;$c++){
           if ($c==1 || $c==$a*2-1){
              echo "*";
           }else{
              echo "<span style='color: #FFF'>*</span>";
           }
       }
       echo "<br>";
   }

*的输出条件与菱形上半部分相同,而下半部分是倒着输出。祝学习愉快!

  • 雨之赞歌 提问者 #1
    哇,想了半天想不出来。
    2019-01-11 10:54:57
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
PHP小白零基础入门
  • 参与学习           人
  • 提交作业       626    份
  • 解答问题       4930    个

想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师