У вас неправильный вывод, так как вы перезаписываете значение $ai_cat_detail
в вашем цикле - таким образом, последнее присвоение N/A
- это то, что вы выводите (поэтому оно будет выводить FOUND
, только если было найдено последнее значение if.
Чтобы исправить это, экспортируйте проверку в функцию и верните строковое значение или используйте break как:
for ($y = 0; $y <= $count_1; $y++) {
for ($x = 0; $x <= $count_2; $x++) {
if((strpos($cat[$y],"Model 1") !== false) and (stripos($quest[$y],$search_quest[$x]) !== false) and (stripos($answ[$y],$search_answ[$x]) !== false)) {
$ai_cat_detail ="FOUND";
break; // this will stop the loop if founded
} else {
$ai_cat_detail ="N/A";
}
}
echo $ai_cat_detail."<br>";
}
Или используйте функцию как:
function existIn($cat, $search_quest, $search_answ, $count_2, $y) {
for ($x = 0; $x <= $count_2; $x++) {
if((strpos($cat[$y],"Model 1") !== false) and (stripos($quest[$y],$search_quest[$x]) !== false) and (stripos($answ[$y],$search_answ[$x]) !== false)) {
return "FOUND";
}
}
return "N/A";
//use as
for ($y = 0; $y <= $count_1; $y++) {
echo existIn($cat, $search_quest, $search_answ, $count_2, $y) ."<br>";
}