<?php
$n=4;
//A 用for循环打印长方形
for($i=1;$i<=$n;$i++){
echo "****<br/>";
}
for($i=1;$i<=$n;$i++){ //$i确定行数
for($j=1;$j<=$i;$j++){ //$确定每行输出的个数
echo "*";
}
echo "<br/>"; //每行输出完成后换行
}
for($i=1;$i<=$n;$i++){ //$i确定行数
for($j=1;$j<=(2*$i-1);$j++){ //$j确定每行输出的个数为2*$i-1
echo "*";
}
echo "<br/>"; //每行输出完成后换行
}
for($i=1;$i<=$n;$i++){ //$i确定输出的行数
for($m=1;$m<=($n-$i);$m++){ //$m确定每行输出的个数,这里要先输出空格
echo " ";
}
for($j=1;$j<=(2*$i-1);$j++){ //$j也是确定每行输出的个数,在输出空格完后输出*
echo "*";
}
echo "<br/>"; //在上边两个for循环每执行完一行后进行换行
}
for($i=1;$i<=$n;$i++){ //$i确定行数
for($m=1;$m<=($n-$i);$m++){ //$m确定每行输出的个数,$n-$i确定的是每行输出的空格数
echo " ";
}
for($j=1;$j<=(2*$i-1);$j++){ //$j确定每行输出的个数为2*$i-1
if($j==(2*$i-1) || $j==1){ //打印每行的第一个位置和最后一个位置的*
echo "*";
}else{
echo " "; //否则在每一行的其他位置打印空格数
}
}
echo "<br/>"; //执行完成后进行换行操作
}
//F
for($i=1;$i<=$n;$i++){ //$i确定每行数
for($m=1;$m<=($n-$i);$m++){ //1、$m确定每行应输出的个数,每行输出的空格数为$n-$i
echo " ";
}
for($j=1;$j<=(2*$i-1);$j++){ //2、(2*$i-1)确定每行输出的个数
if($n==$i){ //5、如果最后一行的行数$i等于所给的行数值$n,则依次打印所有星号*
echo "*";
}else{
if($j==1 || $j==(2*$i-1)){ //3、只打印每一行的第一个数字和最后一个数字为*
echo "*";
}else{
echo " "; //4、否则打印星号*
}
}
}
echo "<br/>"; //每执行完成所有的一行数据操作时进行换行操作
}
for($i=1;$i<=$n;$i++){ //$i确定输出的行数
for($k=1;$k<=($n-$i);$k++){ //$k确定每行应输出的个数,这里打印的是空格数
echo " ";
}
for($j=1;$j<=(2*$i-1);$j++){ //打印出除空格数外的每行的星号为2*$i-1
if($j==1 || $j==(2*$i-1)){ //判断只需打印出每行的第一位和最后一位星号*(在打印空格后执行)
echo "*";
}else{ //否则其余部分打印空格
echo " ";
}
}
echo "<br/>"; //在每一行执行完成后,进行换行操作
}
//把以上图形的for循环语句进行反思维,注:$i是从行数减一进行操作的,才能完成菱形对接
for($i=$n-1;$i>=1;$i--){
for($k=1;$k<=($n-$i);$k++){
echo " ";
}
for($j=1;$j<=(2*$i-1);$j++){
if($j==1 || $j==(2*$i-1)){
echo "*";
}else{
echo " ";
}
}
echo "<br/>";
}
?>
$n=4;
//A 用for循环打印长方形
for($i=1;$i<=$n;$i++){
echo "****<br/>";
}
echo "<hr/>";
for($i=1;$i<=$n;$i++){ //$i确定行数
for($j=1;$j<=$i;$j++){ //$确定每行输出的个数
echo "*";
}
echo "<br/>"; //每行输出完成后换行
}
echo "<hr/>";
for($i=1;$i<=$n;$i++){ //$i确定行数
for($j=1;$j<=(2*$i-1);$j++){ //$j确定每行输出的个数为2*$i-1
echo "*";
}
echo "<br/>"; //每行输出完成后换行
}
echo "<hr/>";
for($i=1;$i<=$n;$i++){ //$i确定输出的行数
for($m=1;$m<=($n-$i);$m++){ //$m确定每行输出的个数,这里要先输出空格
echo " ";
}
for($j=1;$j<=(2*$i-1);$j++){ //$j也是确定每行输出的个数,在输出空格完后输出*
echo "*";
}
echo "<br/>"; //在上边两个for循环每执行完一行后进行换行
}
echo "<hr/>";
for($i=1;$i<=$n;$i++){ //$i确定行数
for($m=1;$m<=($n-$i);$m++){ //$m确定每行输出的个数,$n-$i确定的是每行输出的空格数
echo " ";
}
for($j=1;$j<=(2*$i-1);$j++){ //$j确定每行输出的个数为2*$i-1
if($j==(2*$i-1) || $j==1){ //打印每行的第一个位置和最后一个位置的*
echo "*";
}else{
echo " "; //否则在每一行的其他位置打印空格数
}
}
echo "<br/>"; //执行完成后进行换行操作
}
echo "<hr/>";
//F
for($i=1;$i<=$n;$i++){ //$i确定每行数
for($m=1;$m<=($n-$i);$m++){ //1、$m确定每行应输出的个数,每行输出的空格数为$n-$i
echo " ";
}
for($j=1;$j<=(2*$i-1);$j++){ //2、(2*$i-1)确定每行输出的个数
if($n==$i){ //5、如果最后一行的行数$i等于所给的行数值$n,则依次打印所有星号*
echo "*";
}else{
if($j==1 || $j==(2*$i-1)){ //3、只打印每一行的第一个数字和最后一个数字为*
echo "*";
}else{
echo " "; //4、否则打印星号*
}
}
}
echo "<br/>"; //每执行完成所有的一行数据操作时进行换行操作
}
echo "<hr/>";
for($i=1;$i<=$n;$i++){ //$i确定输出的行数
for($k=1;$k<=($n-$i);$k++){ //$k确定每行应输出的个数,这里打印的是空格数
echo " ";
}
for($j=1;$j<=(2*$i-1);$j++){ //打印出除空格数外的每行的星号为2*$i-1
if($j==1 || $j==(2*$i-1)){ //判断只需打印出每行的第一位和最后一位星号*(在打印空格后执行)
echo "*";
}else{ //否则其余部分打印空格
echo " ";
}
}
echo "<br/>"; //在每一行执行完成后,进行换行操作
}
//把以上图形的for循环语句进行反思维,注:$i是从行数减一进行操作的,才能完成菱形对接
for($i=$n-1;$i>=1;$i--){
for($k=1;$k<=($n-$i);$k++){
echo " ";
}
for($j=1;$j<=(2*$i-1);$j++){
if($j==1 || $j==(2*$i-1)){
echo "*";
}else{
echo " ";
}
}
echo "<br/>";
}
?>