为什么这些字符串不匹配!?! - PHP

I have an if statement with several conditions:

if (
    (fncIsSet($row[0]['incident']) == $line[4]
     && fncIsSet($row[0]['id']) == $line[0]
     && fncIsSet($row[0]["code"]) == $line[2]
    )
    && (
        ($GLOBALS['postCheckList'] == 2
         && $row[0]['QAResult']=='Fail'
        )
        || ($GLOBALS['postCheckList'] != 2)
    )
){

I have a large list of items going through this piece of logic (5000+ values) and about 99.9% pass through as expected.

I've stepped through the debugger a dozen times so I can confirm that the first 2 conditions are passing but the third is failing:

fncIsSet($row[0]["code"]) == $line[2]

Here are the vars that it's trying to compare (copied straight from the source) with their Hex codes beneath them:

Ambulance-2
Ambulance-2
41 6D 62 75 6C 61 6E 63 65 2D 32 
41 6D 62 75 6C 61 6E 63 65 2D 32 

WTF, right? I can't see any reason why these aren't working especially when other very similar variables are passing through fine (ie Ambulance-1 and Ambulance-3).

Here is another example:

Anzemet
Anzemet
41 6E 7A 65 6D 65 74 
41 6E 7A 65 6D 65 74 

I'll bet dollars to donuts you've got trailing whitespace issues. Try printing out your variables with delimiters on either end (pipes are always good), or using var_dump() to deeply inspect your variables.

use var_dump() to see the exact content of your variables (+ type) and in case of string also the length.