我有两个字符串(应该是相同的)。一个从 API 结果中提取,一个由用户输入。我试图比较它们并失败了。当我 var_dump 时,我得到以下信息:
var_dump($str1);
var_dump($str2);
string(21) "Software & Technology"
string(25) "Software & Technology"
注意 $str2 的长度不正确。有人知道这里发生了什么吗?
看来您&
在其中一个字符串中有 HTML & 字符。您应该在比较字符串之前使用html_entity_decode :
if (html_entity_decode($str1) == html_entity_decode($str2)) {
// ...
}
使用 html_entity_decode 将解决与号(和其他字符)问题,使用 strcmp 将处理其余的问题。
if (strcmp(html_entity_decode($str1), html_entity_decode($str2)) == 0) {
// ..
}