3

我有两个字符串(应该是相同的)。一个从 API 结果中提取,一个由用户输入。我试图比较它们并失败了。当我 var_dump 时,我得到以下信息:

var_dump($str1);
var_dump($str2);

string(21) "Software & Technology" 
string(25) "Software & Technology"

注意 $str2 的长度不正确。有人知道这里发生了什么吗?

4

2 回答 2

11

看来您&在其中一个字符串中有 HTML & 字符。您应该在比较字符串之前使用html_entity_decode :

if (html_entity_decode($str1) == html_entity_decode($str2)) {
    // ...
}

现场演示:http: //ideone.com/pkWEJC

于 2013-04-09T17:37:43.940 回答
0

使用 html_entity_decode 将解决与号(和其他字符)问题,使用 strcmp 将处理其余的问题。

if (strcmp(html_entity_decode($str1), html_entity_decode($str2)) == 0) {
    // ..
}
于 2015-01-11T16:35:47.443 回答