Loops 这里使用哪种循环格式?

Loops 这里使用哪种循环格式?,loops,for-loop,Loops,For Loop,最近,我接受了一次采访,在采访中,我被要求做出以下类型的输出: 9 1 8 2 7 3 6 4 现在我练习得不多,但还是设法做到了。 其中我使用了两个变量$i($i=1)和$num($num=9)。 并使条件$i这对我来说更合适 for ($i=1, $j=9; $i<5; $i++,$j--) { echo $j; echo "\n"; echo $i; echo "\n"; } 对于($i=1,$j=9;$i这对我来说更合适 for ($i=1, $

最近,我接受了一次采访,在采访中,我被要求做出以下类型的输出:

 9
 1
 8
 2
 7
 3
 6
 4
现在我练习得不多,但还是设法做到了。 其中我使用了两个变量
$i($i=1)
$num($num=9)

并使条件
$i这对我来说更合适

for ($i=1, $j=9; $i<5; $i++,$j--) {
  echo $j;
  echo "\n";
  echo $i;
  echo "\n";
}

对于($i=1,$j=9;$i这对我来说更合适

for ($i=1, $j=9; $i<5; $i++,$j--) {
  echo $j;
  echo "\n";
  echo $i;
  echo "\n";
}

对于($i=1,$j=9;$i我认为最好运行从9递减的循环,并使用变量跟踪迭代次数:

$count = 0;

for ($i = 9; $i >= 6; $i--)
{
    $count++;
    echo $i."\n";
    echo $count."\n";
}

我认为最好运行从9递减的循环,并使用变量跟踪迭代次数:

$count = 0;

for ($i = 9; $i >= 6; $i--)
{
    $count++;
    echo $i."\n";
    echo $count."\n";
}

更一般地说,这可以写成:

<?php
//Bounds
$upper = 9;
$lower = 1;

//Mid-point, use MOD 2 to add 1 for odd numbers
$mid = ( $upper + ( $upper % 2 ) ) / 2;


for( $i = $lower, $j = $upper; $i <= $mid && $j > $mid; $i++, $j-- )
{
    echo $j;
    echo "\n";
    echo $i;
    echo "\n";
}

更一般地说,这可以写成:

<?php
//Bounds
$upper = 9;
$lower = 1;

//Mid-point, use MOD 2 to add 1 for odd numbers
$mid = ( $upper + ( $upper % 2 ) ) / 2;


for( $i = $lower, $j = $upper; $i <= $mid && $j > $mid; $i++, $j-- )
{
    echo $j;
    echo "\n";
    echo $i;
    echo "\n";
}
单变量解

for($i=1; $i<5; $i++) {
    echo 10 - $i . "<br>". $i."<br>";
}
用于($i=1;$i单变量解决方案

for($i=1; $i<5; $i++) {
    echo 10 - $i . "<br>". $i."<br>";
}

for($i=1;$iokay感谢Chris,我将尝试制作尽可能多的for循环示例。这不一定是用于特定序列的最佳循环,但它确实会更明确地向您显示边缘情况。我不会为我的面试做测试,但如果我做了,如果您提出以下问题,我会印象更深刻:“你是只想要这个特定的序列,还是想要一个可以取可变范围的通用方程?”对于前者,不管怎样,这可能只是一个没有循环的字符串。对于后者,你可以问“中心号呢?如果有两个中心呢?如果范围内只有两个数字呢?”?“好的,谢谢Chris,我将尝试制作尽可能多的for-loop示例。这不一定是用于特定序列的最佳循环,但它确实会更明确地向您显示边缘情况。我不会为我的面试进行测试,但如果我这样做了,如果您提出以下问题,我会印象更深刻:“你是只想要这个特定的序列,还是想要一个可以取可变范围的通用方程?”对于前者,不管怎样,这可能只是一个没有循环的字符串。对于后者,你可以问“中心号呢?如果有两个中心呢?如果范围内只有两个数字呢?”