本文已参与【新人创作礼】活动 ,一起开启掘金创作之路
# 1、判断字符串中是否包含指定字符串的N种方法
strstr
定义和用法
strstr() 函数搜索字符串在另一字符串中是否存在,存在,返回该字符串及剩余部分,否则返回 FALSE。
注释: 该函数是区分大小写的。如需进行不区分大小写的搜索,请使用stristr()函数
语法 strstr(string,search,before_search)
| 参数 | 描述 |
|---|---|
| string | 必需。规定被搜索的字符串。 |
| search | 必需。规定要搜索的字符串。如果该参数是数字,则搜索匹配该数字对应的 ASCII 值的字符 |
| before_search | 可选。一个默认值为 "false" 的布尔值。如果设置为 "true",它将返回 search 参数第一次出现之前的字符串部分。 |
# 通过字母对应的ASCII值搜索字符串,并返回包含该字符及该字符后面的剩余部分
# Nothing brave, nothing have.(不入虎穴,焉得虎子。) [65~90为26个大写英文字母]
# 例1
var_dump(strstr("NOTHING BRAVE, NOTHING HAVE.",82));(R对应的ASCII值为82)
# 输出 string(19) "RAVE, NOTHING HAVE."
# 例2
var_dump(strstr("123456789@qq.com", '@'));
# 输出 string(7) "@qq.com"
# 例3
# Never too old to learn, never too late to turn.(亡羊补牢,为时未晚。)
var_dump(strstr("Never too old to learn, never too late to turn.","too",true));
# 输出 string(6) "Never "
stristr
定义和用法
stristr() 函数搜索字符串在另一字符串中的第一次出现。
注释: 该函数是不区分大小写的。如需进行区分大小写的搜索,请使用 strstr()函数。
语法 stristr(string,search,before_search)
| 参数 | 描述 |
|---|---|
| string | 必需。规定被搜索的字符串。 |
| search | 必需。规定所搜索的字符串。如果该参数是数字,则搜索匹配该数字对应的 ASCII 值的字符。 |
| before_search | 可选。一个默认值为 "false" 的布尔值。如果设置为 "true",它将返回 search 参数第一次出现之前的字符串部分。 |
作用基本与strstr类似 这里就不再浪费大家宝贵的时间
strpos
定义和用法
strpos() 函数查找字符串在另一字符串中第一次出现的位置(区分大小写)。
相关函数
strrpos() - 查找字符串在另一字符串中最后一次出现的位置(区分大小写)
stripos() - 查找字符串在另一字符串中第一次出现的位置(不区分大小写)
strripos() -查找字符串在另一字符串中最后一次出现的位置(不区分大小写)
语法 strpos(string,find,start)
| 参数 | 描述 |
|---|---|
| string | 必需。规定被搜索的字符串。 |
| find | 必需。规定要查找的字符。 |
| start | 可选。规定开始搜索的位置。 |
# No news is good news.(没有消息就是好消息。)
$str = 'No news is good news';
var_dump(strpos($str,'news'));
# 输出 int(3)
var_dump(strpos($str,'NEWS'));
# 输出 bool(false)
explode
定义和用法
explode() 函数把字符串按指定字符分割为数组
语法 explode(separator,string,limit)
| 参数 | 描述 |
|---|---|
| separator | 必需。规定在哪里分割字符串。 |
| string | 必需。要分割的字符串。 |
| limit | 可选。规定所返回的数组元素的数目。可能的值:-大于0 - 返回包含最多 limit 个元素的数组- 小于 0 - 返回包含除了最后的 -limit 个元素以外的所有元素的数组- 0 - 返回包含一个元素的数组 |
# No one can call back yesterday.(昨日不会重现.)
function checkstr($str){
$needle ='back';//判断是否包含a这个字符
$arr = explode($needle,$str);
if(count($arr)>1){
return true;
} else{
return false;
}
}
var_dump(checkstr('No one can call back yesterday.'));
# 输出 bool(true)
$str = 'Yao|Kobe|James|Durant|Wade';
// limit = 0
echo '<pre>';
var_dump(explode('|',$str,0));
# 输出
array(1) {
[0]=>
string(26) "Yao|Kobe|James|Durant|Wade"
}
// limit = 正数
echo '<pre>';
var_dump(explode('|',$str,2));
# 输出
array(2) {
[0]=>
string(3) "Yao"
[1]=>
string(22) "Kobe|James|Durant|Wade"
}
// limit = 负数
echo '<pre>';
var_dump(explode('|',$str,-1));
# 输出
array(4) {
[0]=>
string(3) "Yao"
[1]=>
string(4) "Kobe"
[2]=>
string(5) "James"
[3]=>
string(6) "Durant"
}
//不接limit参数
echo '<pre>';
var_dump(explode('|',$str));
array(5) {
[0]=>
string(3) "Yao"
[1]=>
string(4) "Kobe"
[2]=>
string(5) "James"
[3]=>
string(6) "Durant"
[4]=>
string(4) "Wade"
}