strcmp 麻烦。字符串不相等

Strcmp trouble. Strings are no equal

为什么回显 1?这2根弦是一样的! strcmp()应该是0!怎么了?谁能告诉我为什么这两个字符串不相等?

if(!strcmp("+7 (921) 111-11-11", "+7 (921) 111-11-11"))
    echo "1";
在这种情况下,

strcmp() 的计算结果确实为 0 - 但这会导致它被类型化为 false,然后变为 !false,因此原始语句运行。将其更改为:

if (strcmp("+7 (921) 111-11-11", "+7 (921) 111-11-11") !== 0) 
    echo 1; // Strings are not equal