Я генерирую массив, используя цикл 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, а затем в каждой итерации проверять совпадения с базой данных, без ВСЕХ кода, выполняемого дважды ...
Любой совет?