到目前为止,我们已经用过“==”号来比较两个字符串是否相等。使用PHP可以进行一些更复杂的比较。这些比较分为两类:部分匹配和其他情况。在这里,我们首先将讨论一下其他情况,然后再讨论在进一步开发Smart例子(智能表单邮件)中要用到的部分匹配。
4.4.1 字符串的排序:strcmp、strcasecmp和strnatcmp
strcmp、strcasecmp和strnatcmp函数可用于字符串的排序。当进行数据排序的时候,这些函数是非常有用的。
strcmp的函数原型如下所示:
int strcmp(string str1,string str2);
该函数需要两个进行比较的参数字符串。如果这两个字符串相等,该函数就返回0,如果按字典顺序str1在str2后面(大于str2)就返回一个正数,如果str1小于str2就返回一个负数。这个函数是区分大小写的。
函数strcasecmp除了不区分大小写之外,其他和strcmp一样。
函数strnatcmp及与之对应的不区分大小写的strnatcasecmp将按“自然排序”比较字符串,所谓自然排序是按人们习惯的顺序进行排序。例如,strcmp会认为2大于12,因为按字典顺序2要大于12,而strnatcmp则是相反。关于自然排序可以在http://www.naturalordersort.org/网站上进一步了解。