我有两个字符串(应该是相同的)。一个是从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)) {
// ...
}
实时演示:http://ideone.com/pkWEJC
使用html_entity_decode将解决与字符(和其他字符)问题,使用strcmp将处理其余问题。
if (strcmp(html_entity_decode($str1), html_entity_decode($str2)) == 0) {
// ..
}