[spoiler=FOR (цикл с параметром) - Цитата из справки Clickermann v4.11 (build 000)]
Синтаксис
FOR ($var, expression, [step]) ... END_CYC - организует цикл с параметром
Параметры
$var - переменная, которая будет наращиваться на значение step после каждой итерации цикла (параметр цикла)
expression - логическое выражение, при истинности которого выполняется тело цикла (см. IF)
step - значение шага, на которое каждую итерацию увеличивается переменная; необязательный параметр
Описание
Существует возможность инициализировать переменную в заголовке цикла через знак "=". Например
for ($i = 5, $i < 10)
...
Если переменная до выполнения цикла уже была инициализирована (в том числе в этом же цикле на прошлом прогоне скрипта), то цикл начнется с использованием текущего значения переменной. Если это "новая" переменная, она будет инициализирована нулем.
Перед каждым выполнением итерации (тела цикла) проверяется условие expression и если оно истинно, то тело цикла выполняется, в противном случае цикл завершается. После каждой итерации параметр цикла автоматически увеличивается на step. Если значение опущено (необязательный параметр), что считается что step = 1.
Пример
// простой пример с минимумом данных
for($var, $var < 5)
logwrite("var: ", $var)
end_cyc
// с инициализацией параметра
for($var=5, $var < 10)
logwrite("var: ", $var)
end_cyc
// с инициализацией параметра и заданным шагом
for($var=10, $var < 100, 10)
logwrite("var: ", $var)
end_cyc
// пример с вложенным циклом
FOR($x, $x < 3)
FOR($y, $y < 3)
print($x, ":", $y)
END_CYC
END_CYC
// пример с комплексным условием
$y=0
FOR($x, ($y < 10)&($x < 10) )
print("x:",$x," y:",$y)
inc($y, 5)
END_CYC
[/spoiler]
Вот эти два условия должны выполняться, чтобы всё работало.
FOR($a,$a<$cnt_runs) //Копаем $cnt_runs раз
//
END_CYC
FOR($b,$b<$cnt_cycles) //Считаем циклы для полной загрузки грузовика
//
END_CYC
// Переменные $a и $b, после использования их в циклах,
// изменяются до такой степени, что условие выполнения цикла становится
// невозможным и цикл завершается.
// Для того, чтобы запустить цикл еще раз,
// необходимо ичменить значения этих переменных, например удалить их из памяти.
UNDEFINE($a)
UNDEFINE($b)