如何使用PHP获得以下输出

如何使用PHP获得以下输出,php,algorithm,for-loop,Php,Algorithm,For Loop,我的示例所需输出应该是 1 2 3 4 5 2 4 3 3 4 2 5 4 3 2 1 这是我的PHP代码 for($i=1;$i <= 5;$i++) { for($j=1;$j<=$i;$j++) { echo "$j"; } for($y=0;$y<(5-$i)*4;$y++) { echo '&nbsp;'; } for($l=$i;$l>0;$l--)

我的示例所需输出应该是

1 2 3 4 5
2       4
3       3
4       2
5 4 3 2 1
这是我的PHP代码

for($i=1;$i <= 5;$i++) {
    for($j=1;$j<=$i;$j++) {
      echo "$j";
    }
    for($y=0;$y<(5-$i)*4;$y++) {
      echo '&nbsp;';
    }
    for($l=$i;$l>0;$l--) {
      echo "$l";
    }
    echo "<br/>";
}
请设法解决我的问题。提前感谢。

对于($i=1;$i=1;$i--){
for($i=1; $i<=5; $i++){
        echo $i." ";
    }
    echo "<br />";
    for($i=2; $i<=5; $i++){
        if($i==5){
            echo $i;
        }
        else{
            echo $i."&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
            if($i==2){
                echo (4)."<br />";
            }
            if($i==3){
                echo (3)."<br />";
            }
            if($i==4){
                echo (2)."<br />";
            }
        }
    }

    echo " ";
    for($i=4; $i>=1; $i--){
        echo $i." ";
    }
echo$i.“”; }

@我想Mark有最好的解决方案。

下面是一个针对任意1字符值数组的快速解决方案:

$values = range(1,7);
$count = count($values);
foreach($values as $k=>$v) {
   if($k == 0)
      echo implode(" ", $values), "\n";
   elseif($k == $count-1)
      echo implode(" ", array_reverse($values)), "\n";
   else
      echo $v, " ", str_repeat("  ", $count-2), $values[$count-1-$k], "\n";
}
这将产生:

1 2 3 4 5 6 7
2           6
3           5
4           4
5           3
6           2
7 6 5 4 3 2 1
$count=5;
$last=0;

对于($i=1;$i看起来像是学校作业!:pIt是面试测试。我没能解决:(@RonakPatelDid他们特别要求你使用循环?在这方面,将尽快发布解决方案。是否强制使用循环?谢谢你的回答。是的,Mark解决了我的问题。:)
1 2 3 4 5 6 7
2           6
3           5
4           4
5           3
6           2
7 6 5 4 3 2 1
$count = 5;
$last = 0;
for ($i = 1; $i <= $count; $i++) {
    if($i == 1) {
        for ($x = 1; $x <= 5; $x++) {
            echo $x . ' ';
        }
        $last = $x;
    } elseif ($i == 5) {
        for ($b = 5; $b >= 1; $b--) {
            echo $b . ' ';
        }
    } else{
        for($c=1; $c <= 5; $c++) {
            if($c == 1) {
                echo $i . ' ';
            } elseif ($c == 5) {
                echo ($last - $i) . ' ' ;
            } else {
                echo '&nbsp;&nbsp;&nbsp;';
            }
        }
    }
    echo '<br>';
}