如何用php实现以下逻辑

时间:2014-02-09 05:15:32

标签: php logic

我需要退出如下:

  1234
  123
  12
  1
  12
  123
  1234

我的尝试

<?php
$n=4;


for($i=1;$i<=$n;$i++){
    for($j=$i;$j<=$n;$j++){
       if($i==4){
        echo $j-3;
     }
    else if($i==2){
       echo $j-1;
     }
    else if($i==3){
      echo $j-2;
    } else {
       echo $j;
      }
    }
        echo "<br>";
}
for($i=4;$i>=1;$i--){
    for($j=$i;$j<=$n;$j++){
       if($i==4){
        echo $j-3;
     }
    else if($i==2){
       echo $j-1;
     }
    else if($i==3){
      echo $j-2;
    } else {
       echo "";
      }
    }
     echo "<br>";
}

任何人都可以建议我实现上述逻辑的最佳方式。

2 个答案:

答案 0 :(得分:1)

这是一个想法:将其视为字符串而不是数字,并且每次只打印出前x个数字。

即,整个字符串可能是'1234'并且您分别打印出前4个,3个,2个,1个,2个,3个,4个4个字符。

因为它听起来像是一个家庭作业问题,所以我不会提供完整的答案,但这里有一些可能对您有帮助的参考资料。

http://www.php.net/manual/en/control-structures.for.php

http://au1.php.net/substr

答案 1 :(得分:1)

你有输入(“1234”),你只需要2个for / foreach循环,它从n-1迭代到0,另一个从1到n-1,当你做for / foreach时,只需给它们输入你输入的子串。

这就是你需要做的一切