Выполните цикл в 10 раз, затем увеличьте значение и повторите процесс в общей сложности в 10 раз. - PullRequest
0 голосов
/ 01 декабря 2018

Мне нужно, чтобы 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 голосов
/ 02 декабря 2018

Я бы использовал модуль лично, он всегда чувствуется как лучший способ справиться с такими «синхронизированными» приращениями.Вы можете прочитать об операторе по модулю здесь .Это также означает, что вам не нужно иметь вложенные циклы

$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 
    }
}
0 голосов
/ 01 декабря 2018

Вы можете попробовать что-то вроде этого.Я использовал переменные $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;
}

Демонстрация на 3v4l.org

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...