我需要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次。
有什么建议吗?
答案 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;
}
答案 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
}
}