Выполнение цикла foreach с IF / ELSE с использованием цикла while MYSQLI - PullRequest
0 голосов
/ 31 декабря 2018

Я генерирую массив, используя цикл foreach, но чтобы проверить правильность ввода, я проверяю его по базе данных, следовательно, по циклу while.

Однако этот код .. очевидно заканчиваетсядо запуска всего дважды .......

while($mp = mysqli_fetch_assoc($mappings_selected)) {
foreach ($inputdata as $key => $val) {
    $value = str_replace(array("\r", "\n", "\r\n", "\v", "\t", "\0","\x"), " ", $val);
    $pos = substr($value,0, strpos($value, ' '));
    $fnc1 = $mp['function_1'];
    $fnc2 = $mp['function_2'];
    $rank_1 = $mp['rank_1'];
    $rank_2 = $mp['rank_2'];
    $rank_3 = $mp['rank_2'];
    $usergrp = $mp['user_group'];

    if (preg_match("/^(?=.*(?:\b$fnc1\b|\b$fnc2\b))(?=.*(?:\b$rank_1\b|\b$rank_2\b|\b$rank_3\b)).*$/", $val) ){
        $usergroup = ",,,,,,,,,,,".$coursegroup.$usergrp.",";
    } else  ...... 

Моя цель будет состоять в том, чтобы запустить цикл foreach, а затем в каждой итерации проверять совпадения с базой данных, без ВСЕХ кода, выполняемого дважды ...

Любой совет?

...