It just boils down to PHP's crazy type system.
$fruits['response']['errormessage']
is the string 'banana'
, so you're attempting to access a character in that string by the ['orange']
index.
The string 'orange'
is converted to an integer for the purposes of indexing, so it becomes 0
, as in $fruits['response']['errormessage'][0]
. The 0th index of a string is the first character of the string, so for non-empty strings it's essentially set. Thus isset()
returns true.
I don't know what you're trying to do in the first place so I can't offer any "fix" for this. It's by design.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…