Циклы foreach будут перебирать все элементы, повторяя либо «Точное совпадение», либо «Нечеткое совпадение».Он не должен отражать оба в одном цикле, так что я могу думать только о том, что счетчик выключен (либо 11 элементов, либо только 9 эхо «нечеткого совпадения»).
Если вы хотите, чтобы «точное совпадение» выводилось один раз, если найдено какое-либо точное совпадение, и «нечеткое совпадение» выводилось один раз, если не было найдено точное совпадение, вам нужно будет реструктурировать циклы следующим образом:1003 *
$found = 0;
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';
$found = 1;
break 2; // Once a match is found we exit both loops
}
}
}
if ( ! $found)
{
echo 'Fuzzy match'; // this will only be executed if no match is found
}