Проблема с foreach
-
Всем привет, вроде освоился с BAS и начал писать довольно сложны1й скрипт как ни в чем не бывало вылез непонятный баг, суть в следующем, на хостинге после регистрации доменного имени надо добавить поддомены для 18 языков.
Читается файл с указанием зон (имен поддоменов) в список
задаётся FOREACH для этого списка (в списке 18 строк)
внутри Foreach:
берем первую строку из списка
вызываем форму добавления поддоменов
вводим в окошко
жмется ентер
и так по кругу
в итоге почему то обрабатывается только 8(из 18) строк из файла (грешил то что длина разная, мешал менял но все равно после использования первых 8 строк скрипт больше ничего не делает) вот принтскрин последовательностей
-
@Shraibikus тоже сталкивался с такой проблемой, честно говоря не знаю почему так происходит. Для себя делал так читаем в файл в список узнаем количество элементов и делаем фор от 1 до полученного количества элементов
-
-
@Turutur Дак если юзать while то когда значения в списке закончатся он будет продолжать крутить только в значении будет "null"
-
@Shraibikus
Я вижу, что берётся первый элемент списка в начале цикла, в конце цикла он удаляется?Попробуйте использовать переменную
[[FOREACH_DATA]]
и не изменять список. Она автоматически создаётся когда вы используете циклFOREACH
и в ней перебираются последовательно все строки списка.
-
@wodopad дак а если у меня последовательно много операций с разными foreach не получится что все смешается?
-
@Shraibikus
Внутри циклаFOREACH
есть ещё циклыFOREACH
или после выполнения одного цикла начинается следующий?
-
@Shraibikus - пример использования while
0_1477655779692_test_while.xml
-
@Shraibikus Внутри цикла список модифицируется.
Чтобы получить элемент воспользуйтесь переменной FOREACH_DATA