ホームページ >バックエンド開発 >PHPチュートリアル >中空ピラミッドの印刷を実現するphpの2つの方法

中空ピラミッドの印刷を実現するphpの2つの方法

WBOY
WBOYオリジナル
2016-08-08 09:19:362264ブラウズ
<?php
/*
 *
 *帮朋友做题,写了一个这个空心金字塔的代码。希望和大家交流一下,提出*宝贵建议.
 *
 */
//第一种实现方法
$n=20;//定义总函数
for($i=1;$i<=$n;$i++)//行数循环
 {  
    for($k=1;$k<=$n-$i;$k++)//循环打印出每行前面的空格
	  {  
		  echo "&#160;";
	  }
	//判断并打印出第一行与最后一行的&#39;*&#39;
	if(($i==1)||($i==$n))
	{
		for($j=1;$j<=2*$i-1;$j++)
		  {
			echo &#39;*&#39;;
		  }
		  echo&#39;<br/>';
	}else//循环打印出其他行的'*'与空格
	   {
			echo '*';
			for($k=1;$k<=2*$i-3;$k++)
				{
				echo &#39;&#160;&#39;;
				}
			echo &#39;*&#39;;
			echo &#39;</br>';
	  }
}
//第二种实现空心金字塔(个人感觉代码繁琐,唉。)
$n=20;//定义总函数
for($i=1;$i<=$n;$i++)//行数循环
{  
  for($k=1;$k<=$n-$i;$k++)//循环打印出每行前面的空格
	{
        echo &#39;&#160;&#39;;
    }
  //循环打印出每一行前面空格后的&#39;*&#39;
  if($i==1)//第一行
	{
		echo &#39;*&#39;;
		echo &#39;</br>';
	}else//其它行
		{echo '*';}
  if(($i>=2)&&($i<=$n-1))
	{ //循环打印出第二行到第n-1行的样式
       for($j=1;$j<=2*$i-3;$j++)
		{
	      echo &#39;&#160;&#39;;
	    }
		echo &#39;*&#39;;
		echo &#39;</br>';
    }else if($i==$n)
	   {//循环打印出最后一行的样式
		  for($m=1;$m<=2*$i-2;$m++)//2*$i-2是因为前面多打印一个&#39;*&#39;
		   {
		     echo "*";
		   }
		   echo &#39;</br>';
       }
}
?>

著作権表示: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。

上記では、PHP で中空ピラミッドを印刷する 2 つの方法と、関連する内容を紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。