0 / 0 / 0
Регистрация: 18.09.2017
Сообщений: 46
1

Скажите, есть ли возможность как-нибудь сделать, чтобы в цикле foreach обрабатывались данные из двух массивов?

17.01.2018, 16:18. Показов 2184. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Скажите есть возможность как-нибудь сделать чтобы в цикле foreach обрабатывались данные из двух массивов? Ведь цикл foreach перебирает элементы только одного массива. Может есть способ как-то засунуть 2 массива в одну "переменную" потом в этой переменной обрабатывать массивы отдельно?

Вот фрагмент кода:

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
FOR rec IN (
                SELECT  flc.sl_form_flc_id,
                sl_form_flc_formula,
                sl_form_flc_message,
                (SELECT (array(SELECT ffcl.sl_form_cell_id 
                FROM sl_form_flc_cell_link ffcl
                LEFT JOIN   sl_report_data rd ON rd.sl_form_cell_id = ffcl.sl_form_cell_id
                                                                        AND rd.sl_report_id = p_report_id
                                                                        AND rd.active_from <= l_for_day
                                                                        AND rd.active_to > l_for_day
                                                                        WHERE ffcl.sl_form_flc_id = flc.sl_form_flc_id))) AS sl_form_cell_id,
                (SELECT (array(SELECT COALESCE(CAST(rd.val AS text), '0') val
                FROM sl_form_flc_cell_link ffcl
                LEFT JOIN   sl_report_data rd ON rd.sl_form_cell_id = ffcl.sl_form_cell_id
                                                                        AND rd.sl_report_id = p_report_id
                                                                        AND rd.active_from <= l_for_day
                                                                        AND rd.active_to > l_for_day
                                                                        WHERE ffcl.sl_form_flc_id = flc.sl_form_flc_id))) AS val
        FROM sl_report rep
        JOIN        sl_frm_inp_per_link fpl    ON fpl.sl_frm_inp_per_link_id = rep.sl_frm_inp_per_link_id
        JOIN        sl_form_flc flc            ON flc.sl_form_id = fpl.sl_form_id AND flc.sl_form_flc_type_id = 1 
                                                                                  AND flc.is_enabled = 1
        JOIN        sl_report_data rd          ON rd.sl_report_id = rep.sl_report_id
        JOIN   sl_form_flc_cell_link ffcl ON rd.sl_form_cell_id = ffcl.sl_form_cell_id AND rd.sl_report_id = p_report_id
                                                                                            AND rd.active_from <= l_for_day
                                                                                            AND rd.active_to > l_for_day
        WHERE       rep.sl_report_id = p_report_id AND ffcl.sl_form_flc_id = flc.sl_form_flc_id 
                )
            loop
                l_flc_formula := rec.sl_form_flc_formula;
                foreach res IN array --???????????????????????????????????????
                    loop
                    l_flc_formula := REPLACE(l_flc_formula, '['||/*первый массив*/||']', /*второй массив*/);
                    END loop;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.01.2018, 16:18
Ответы с готовыми решениями:

Использование двух массивов в одном цикле foreach
Уважаемые форумчане! Пожалуйста, подскажите. Можно ли использовать два массива разного типа,...

Как сделать чтобы в течении длительной процедуры обрабатывались события?
События - нажатия кнопок и.т.д...

Есть ли возможность скриптам обращаться к сайту мэйл.ру и брать оттуда какие-нибудь данные?
Вобщем такой вопрос. Есть ли возможность скриптам обращаться к сайту мэйл.ру и брать оттуда...

Как сделать чтобы файлы .cshtml лежащие не в папке View тоже обрабатывались
Смысл прост. У меня несколько другая структура папок для въюх. Так вот, если въюха лежит не в папке...

3
1224 / 945 / 377
Регистрация: 02.09.2012
Сообщений: 2,886
17.01.2018, 16:36 2
к элементам массивам можно обращаться по индексам. сделайте числовой цикл по индексам и обращайтесь к двум массивам сразу (разумеется, если массивы имеют одинаковые границы)
0
0 / 0 / 0
Регистрация: 18.09.2017
Сообщений: 46
17.01.2018, 17:10  [ТС] 3
grgdvo, думал так сделать, но еще вопрос в том что эти массивы я получаю подзапросом в большой выборке, как мне эти массивы записать куда-нибудь?
0
1224 / 945 / 377
Регистрация: 02.09.2012
Сообщений: 2,886
18.01.2018, 13:15 4
Я не смогу подсказать вам, куда записать массивы, потому что я не знаю, какая задача решается... зачем вообще куда-то записывать массивы, вот они уже в запросе лежат??
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.01.2018, 13:15
Помогаю со студенческими работами здесь

Нужно, чтобы вместо регистрации данные обрабатывались другим модулем
Добрый день Кто хорошо знаком с phpbb подскажите плз. Нужно немного модифицировать регистрацию....

DataReport.Есть ли возможность в отчет занести данные из двух таблиц?
Ребята, кто знает, помогите. Есть ли возможность в отчет занести данные из двух таблиц? У меня в...

Есть ли возможность как-нибудь восстановить утраченный раздел
помогите пожалуйста. Тупая ситуация, не буду в подробности вдаваться... При переустановки винды,...

Есть ли возможность как нибудь узнать позиции сайт
Есть ли возможность как нибудь узнать позиции сайта по ключевым словам за прошедшее время. лучше...

Как сделать вывод в три колонки в цикле foreach
Здравствуйте! Подскажите как вывести в цикле таблицу в три столбика, а тут только в одной ячейке...

Пожалуйста подскажите о цикле перебора массивов foreach
Не могу найти материал который бы точно изложил суть цикла перебора массива foreach Вот пример: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru