У меня есть вложенный цикл foreach, проходящий через 2 массива с условным if - else
. Когда, если возвращает значение, оператор else также работает, почему?
//$global_plugins is an array //$xml_plugins is a string foreach($global_plugins as $key => $global_plugins){ foreach ((array) $xml_plugins as $key2 => $xml_plugins){ if (($global_plugins == $xml_plugins) && ($plugin_verso[$key] == $xml_plugin_version[$key2])){ echo 'Exact match'; }else{ echo 'Fuzzy match'; } } }
Для этого примера массив имеет 10 значений для соответствия, когда if
возвращает «Точное соответствие», он также не должен возвращать «Нечеткое совпадение», но это то, что происходит.
Для 1 подходящего значения я получаю эхо-выход: «Точное совпадение» один раз и «Нечеткое совпадение» x 10