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
为什么回显 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