php有没有或类似indexOf的方法strpos、stripos
阅读(2851)
2017-12-07
indexOf在java中或在js中常常被用到,那么php有没有呢?来看看php中类似indexOf的相关方法。
参数简介
@param string $haystack 要搜索的字符串
@param mixed $needle 要查找的字符
@param int $offset [可选]开始搜索的位置
@return int|boolean 返回针存在相对的起点的位置,如果找不到针,则返回false。注意字符串位置从0开始,而不是从1开始。
类似indexOf
//strpos — 查找字符串首次出现的位置 function strpos ($haystack, $needle, $offset = 0) {} //stripos — 查找字符串首次出现的位置(不区分大小写) function stripos ($haystack, $needle, $offset = null) {}
例子:
//大小写敏感 var_dump(strpos("weizhixi.com","i")); //int 2 var_dump(strpos("weizhixi.com","I")); //boolean false //大小写不敏感 var_dump(stripos("weizhixi.com","i")); //int 2 var_dump(stripos("weizhixi.com","I")); //int 2
类似lastIndexOf
//strrpos — 查找字符串最后一次出现的位置 function strrpos ($haystack, $needle, $offset = 0) {} //strripos — 查找字符串最后一次出现的位置(不区分大小写) function strripos ($haystack, $needle, $offset = null) {}
例子:
//大小写敏感 var_dump(strrpos("weizhixi.com","i")); //int 7 var_dump(strrpos("weizhixi.com","I")); //int 7 //大小写不敏感 var_dump(strripos("weizhixi.com","i")); //int 7 var_dump(strripos("weizhixi.com","I")); //int 7
简单应用
//这里要用全等于===或不全等于!==。因为位置从0开始算,可能会返回0 if(strpos('abc','a')!==false){ echo '存在'; }else{ echo '不存在'; } //string 存在 echo substr('abc.jpg', strpos('abc.jpg','.')+1); //jpg
类似java中
if("abc".indexOf("a")!=-1){ System.out.println("存在"); }else{ System.out.println("不存在"); } System.out.println("abc.jpg".substring("abc.jpg".indexOf(".")+1)); //jpg
原创文章,转载请注明出处:https://www.weizhixi.com/article/22.html