Java中的startsWith和endsWith方法,在filter的功能实现中很方便,PHP可以用strncmp() 实现startsWith,但是无法实现endsWith,有些人会用正则来实现,但大多数人都不喜欢正则表达式的操作。
这里我通过一个叫substr_compare的方法实现(同时他也能实现startsWith)。
定义和用法
substr_compare() 函数从指定的开始长度比较两个字符串。
该函数返回:
0 - 如果等两字符串相
<0 - 如果 string1 (从开始位置)小于 string2
>0 - 如果 string1 (从开始位置)大于 string2
语法
substr_compare(string1,string2,startpos,length,case)
参数
描述
string1
必需。规定要比较的第一个字符串。
string2
必需。规定要比较的第二个字符串。
startpos
可选。规定在 string1 中的何处开始比较。
length
可选。规定在 string1 中参与比较的字符数。
case
可选。规定是否指定大小写比较。默认是 FALSE (对大小写敏感)。
使用substr_compare重写后的startsWith和endsWith如下
function startsWith(){
$string1 = "XXXX";
$string2 = "XXXX";
if(strlen($string1)
return false; //否则substr_compare遇到这种情况会返回0(即相当,与事实不符合)
}else{
return !substr_compare($string1,$string2,0,strlen($string2));//当第一个长度大于第二个时才开始判断
}
}
function endsWith(){ $string1 = "XXXX"; $string2 = "XXXX"; if(strlen($string1)