循环10次,然后增加一个值并重复该过程总共10次?

时间:2018-12-01 05:56:31

标签: php loops

我需要x(0)来增加一个值10倍,然后我需要向y添加一个值,然后让x从0再次增加。 基本上我是在创建网格。

现在,我手动执行一个“行”,循环10次,然后手动更改y,再次循环,重复。我想使它自动化。

$int = 0;
$x = 0;
$y = 0;
$z = 0;

while($int < 10) {
    echo 'posX="'. $x .'" posY="'. $y .'" posZ="'. $z .'<br>';
    $int++;
    $x+=20;
} 

我现在要手动执行的操作是将y的值更改为20,然后让循环再次运行,我必须手动将其更改10次。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

您可以尝试类似的方法。我使用变量$x_inc$y_inc来定义在循环的每个遍历中将$x$y递增多少:

$x = $y = $z = 0;
$x_inc = 20;
$y_inc = 20;
for ($i = 0; $i < 10; $i++) {
    for ($j = 0; $j < 10; $j++) {
        echo 'posX="'. $x .'" posY="'. $y .'" posZ="'. $z .'<br>';
        $x += $x_inc;
    }
    $y += $y_inc;
    $x = 0;
}

Demo on 3v4l.org

答案 1 :(得分:0)

我个人会使用模数,它总是感觉像是处理此类“定时”增量的最佳方法。您可以了解模运算符here。这也意味着您不必嵌套循环

$int = 11;
$x = 0;
$y = 0;
$z = 0;

while($int < 110) {
    echo '"posX="'. $x .'" posY="'. $y .'" posZ="'. $z .'"<br />"';
    $int ++; //you probably want to do this last unless you need int to increment before we evaluate it
    $x+=20;
    if(($int % 10) == 0) { //basically if int is a multiple of 10 you want to add to y and reset x
         $y += 10; //your value
         $x = 0; // reset x to 0 for the next 10 iterations 
    }
}

======或=======

$int = 0;
$x = 0;
$y = 0;
$z = 0;

while($int < 110) {
    echo '"posX="'. $x .'" posY="'. $y .'" posZ="'. $z .'"<br />"';
    $int ++; //you probably want to do this last unless you need int to increment before we evaluate it
    $x+=20;
    if(($int / 10) == 1) { //basically if int is a multiple of 10 you want to add to y and reset x
         $y += 10; //your value
         $x = 0; // reset x to 0 for the next 10 iterations 
    }
}