ОК, у меня есть функция, которая сравнивает значения и возвращает результаты, независимо от регистра, то есть: Передача межфазного взаимодействия = Передача межфазного обмена здесь есть функция:
function fncResult ($expVal, $actVal)
{
$negNulls=array("-5","-10","-15","-20","-25");
if (!in_array($expVal, $negNulls))
{
if(strtolower($expVal)==strtolower($actVal))
{
echo "
<td class='match' title='The values match.'>Match</td>
</tr>";
}
else
{
echo "
<td class='notMatch' title='The values do not match.'>Not Match<br />No Match</td>
</tr>";
}
}
else
{
echo "
<td class='null' title='The value in the XML was a negative null.'>Negative Null</td>
</tr>";
}
}
Это работает примерно в 99% случаев, кроме случаев, когда это происходит:
//--Type of service requested
echo "
<tr>
<td>E02_04</td>
<td>Type of Service Requested</td>
<td>36. <Nature of Call></td>
<td>$fldServReq</td>
<td>".fncGrabNemsis("E02_04",$fldServReq,$local)."</td>
<td>".fncIsSet($CZ_E02_04[1])."</td>";
fncResult(fncGrabNemsis("E02_04",$fldServReq,$local),fncIsSet($CZ_E02_04[1]));
Хотя это выглядит сложнее, на самом деле это просто сравнение strtolower ($ expVal) == strtolower ($ actVal). Когда я повторяю сравниваемые значения, я получаю: "межфилиальная передача" и "межфилиальная передача" и "Нет совпадения" ... WTF? Может ли это быть из-за того, что первое значение исходит из XML (UTF-8), а второе - из БД (?). Я понятия не имею, что делать, и я невероятно разочарован, поскольку это простая задача. Спасибо за любую помощь!