21,881
社区成员
发帖
与我相关
我的任务
分享
//strcmp是用于区分大小写(即大小写敏感)的字符串比较:
echo strcmp("abcdd", "aBcde"); // 返回 1 (>0), 比较的是 "b"和"B"
//strcasecmp用于不区分大小写的字符串比较:
echo strcasecmp("abcdd", "aBcde"); // 返回 -1 (<0), 比较的是"d"和"e"
//strncmp用于比较字符串的一部分,从字符串的开头开始比较,第三个参数,为要比较的长度:
echo strncmp("abcdd", "aBcde", 3); // 返回 1 (>0), 比较了 abc 和 aBc
//strncasecmp用于不区分大小写的比较字符串的一部分,从字符串的开头开始比较,第三个参数,为要比较的长度:
echo strncasecmp("abcdd", "aBcde", 3); // 返回 0, 比较了 abc 和 aBc,
//由于不区分大小写,所以两者是相同的。
//还有一种情况是单单比较字符串大小,达不到我们预定的要求,比如照常理 10.gif 会比 5.gif 大,但如果应用上面几个函数,就会返回 -1,即表示 10.gif比5.gif,针对这种情况,PHP提供了两个自然对比的函数strnatcmp,strnatcasecmp:
echo strnatcmp("10.gif", "5.gif"); // 返回 1 (>0)
echo strnatcasecmp("10.GIF", "5.gif"); // 返回 1 (>0)