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