1
$arr = array(1,2,4,7,12,17,21,24,26,27);
for($i=1; $i<count($arr); $i++) {
    for($j=$arr[$i-1]; $j<$arr[$i]; $j++) {
        echo $j;
    }
    echo "<br>";
}

我正在尝试使用 for 循环来制作看起来像菱形的形状。此时它看起来像半菱形。

我想在这方面提供帮助。

4

3 回答 3

1

这是我能想到的最好的:

echo '<pre style="text-align:center;">';
$arr = array(1,2,4,7,12,17,21,24,26,27);
for($i=1; $i<count($arr); $i++) {
    for($j=$arr[$i-1]; $j<$arr[$i]; $j++) {
        echo $j;
    }
    echo "<br>";
}

所以你想要的是(没有形状):

      1
     2  4
 7  12  17  21 
    24  26
      27

我很难找到断线的地方,因为数组中的数字不是“对称”数字。

或者你想要这个:

       1 
      2  4
     7    12
    17     21 
     24   26
        27
于 2012-05-03T11:44:29.730 回答
1
<?php

$kk=25;
$m=1;
for($kkk=1;$kkk<=7;$kkk++)
{
        for($k=0;$k<=$kk;$k++)
        {
            echo ('&nbsp;');
        }

        for($j=1; $j<=$m; $j++)
        {

            echo $j;
        }
            $kk=$kk-1 ;
            echo "<br>";
            $m=$m+2;

}



?>

全钻石

<?php

$kk=25;
$m=1;
for($kkk=1;$kkk<=5;$kkk++)
{
        for($k=0;$k<=$kk;$k++)
        {
            echo ('&nbsp;');
        }

        for($j=1; $j<=$m; $j++)
        {

            echo $j;
        }
            $kk=$kk-1 ;
            echo "<br>";
            $m=$m+2;

}

$kk=22;
$m=9;
for($kkk=1;$kkk<=5;$kkk++)
{
        for($k=1;$k<=$kk;$k++)
        {
            echo ('&nbsp;');
        }

        for($j=$m; $j>=1; $j--)
        {

            echo $j;
        }
            $kk=$kk+1 ;
            echo "<br>";
            $m=$m-2;

}




?>
于 2012-05-03T12:08:11.247 回答
1
    <?php
echo '<div style="text-align:center;">';
$jeff = "5";
$y=1;
for($x=1;$x<=$jeff+1;$x++){
    for($y=1;$y<$x;$y++)
        {
        echo"*";
        }
        echo"<br>";
}
$rey = $jeff-1;
for($x=$rey;$x>=1;$x--){
    for($y=1;$y<$x;$y++)
        {
        echo"*";
        }
        echo"<br>";
}
echo"</div>"
?>
于 2016-06-06T13:53:22.767 回答