OK、私は関係なく、例の値を比較した結果を返す関数を、持っている、すなわち:
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%に動作します:Interfacility転送は=ここINTERFACILITY転送が機能ですこれに来る:
//--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)、比較したものです。私が比較している値をエコーすると、 "interfacility transfer"と "interfacility transfer"と "No Match" ... WTF?最初の値がXML(UTF-8)から来ていて、2番目がDB(?)から来ているからです。これは単純な作業のために何をすべきかわからず、信じられないほど欲求不満です。助けてくれてありがとう!
[strcasecmp](http://uk3.php.net/manual/en/function.strcasecmp.php)を使ってみませんか? –
空白がある可能性があります。 'var_dump'を実行し、長さが等しいかどうかをチェックするか、入力に対して最初に' trim'を試してください。 – netcoder
このコードはすべて、そのデータが供給されていないと役に立たない。文字エンコーディングに問題がある可能性が高いようです。 – meagar