在PHP中,可以用下列函数来查找字符串。

stripos()

stripos()用于查找字符串中某部分字符串初次发生位置(不区分大小写)。

词法如下:

intstripos(string$haystack,string$needle[,int$offset=0])

参数说明如下:

haystack:在该字符串中查找。 needle:needle能是一个单字符或者多字符的字符串。假如needle不是一个字符串,那么它要被转换成整形并被称作字符次序值。 offset:可选的offset参数允许你特定从haystack里的哪个字符逐渐查找,返回的部位数据值依然相较于haystack的起始位置。

回到needle存在于haystack字符串逐渐位置(独立于偏移)。同时注意字符串部位起始于0,而非1。假如未发现needle就把回到false。

实例如下:

php $findme=’c’; $mystring1=’xyz’; $mystring2=’ABC’; $pos1=stripos($mystring1,$findme); $pos2=stripos($mystring2,$findme); var_dump($pos1); var_dump($pos2); ?>

执行结果为:

bool(false)int(2)

strpos()

strpos()用于查找字符串初次发生位置。

词法如下:

mixedstrpos(string$haystack,mixed$needle[,int$offset=0])

strpos()和strrpos()、strripos()不一样,strpos的偏移不能是负值。

实例如下:

php $findme=’c’; $findme1=’C’; $mystring=’ABCabc’; $pos1=strpos($mystring,$findme); $pos2=strpos($mystring,$findme1); var_dump($pos1); var_dump($pos2); ?>

以上编码的执行结果为:

int(5)int(2)

strripos()

strripos()用于测算特定字符串在目标字符串中最后一次发生位置(不区分大小写)。

词法如下:

intstrripos(string$haystack,string$needle[,int$offset=0])

负值偏移将促使查找从字符串的起始位置逐渐,到offset部位才行。

实例如下:

php $findme=’c’; $findme1=’C’; $mystring=’ABCabcabcABC’; $pos1=strripos($mystring,$findme); $pos2=strripos($mystring,$findme1); var_dump($pos1); var_dump($pos2); ?>

以上编码的执行结果为:

int(11)int(11)

strrpos()

strrpos()用于测算特定字符串在目标字符串中最后一次发生位置.

词法如下:

intstrrpos(string$haystack,string$needle[,int$offset=0])

假如是负值的偏移,将会导致查找在字符串结尾开始的记数部位处完毕。

实例如下:

php $findme=’c’; $findme1=’C’; $mystring=’ABCabcabcABC’; $pos1=strrpos($mystring,$findme); $pos2=strrpos($mystring,$findme1); $pos3=strrpos($mystring,$findme1,-5); var_dump($pos1); var_dump($pos2); var_dump($pos3); ?>

以上编码的执行结果为:

int(8)int(11)int(2)

发表评论

后才能评论