PHP 常用的字符串函数
php 工作中常用的字符串函数
一、关于字符串大小写转换的函数
1、strtoupper($string):将字符串$string中的字母转换成大写,并将转化后的字符串返回;
$str = '这是一个string'; echo strtoupper($str); //输入结果: //这是一个string
2、mb_strtoupper():与 strtoupper() 函数类似,同样可以将字符串中的字母转化为大写,并且 mb_strtoupper() 函数还可以设置参数的字符编码
mb_strtoupper($str [, $encoding = mb_internal_encoding()])
//$str 是需要转化的字符串,$encoding 是一个可选参数,用来设置参数的字符编码。
3、strtolower($string):将字符串$string中的字母转换成小写,并将转化后的字符串返回;
$str = '这是一个string'; echo strtolower($str); //输出结果: //这是一个string
4、mb_strtolower():与strtolower()函数类似,同样可以讲字符串中的字母转化为小写,并且还可设置参数的字符编码
mb_strtolower($str [, $encoding = mb_internal_encoding()]) //$str 是需要转化的字符串,$encoding 是一个可选参数,用来设置参数的字符编码。
mb_xxxx和xxxx函数的却别:
mb_xxxx和xxxxd函数不同的是,mb_xxxxx中的$str 中字母字符的检测是根据字符的 unicode 属性。因此函数的行为不会受语言设置的影响,能够转换任意具有“字母”属性的字符。
5、ucfirst($string):将字符串$string中的第一个字母转化成大写;
$str = '这是一个string'; $str1 = 'hello world!'; echo ucfirst($str); echo '<br/>'; echo ucfirst($str1); //输出结果: //这是一个string //hello world!
6、lcfirst($string):将字符串$string中的第一个字母转化成小写;
$str = '这是一个string'; $str1 = 'hello world!'; echo lcfirst($str); echo '<br/>'; echo lcfirst($str1); //输出结果: //这是一个string //hello world!
7、ucwords():将字符串中的每个单词的首字母转换成大写;
ucwords($str [, $delimiters = "\t\r\n\f\v" ]) //$str 为需要转化的字符串;$delimiters 为可选参数,用来表示单词分隔符,默认是空格符、制表符、换行符、回车符、水平线以及竖线。
$str = 'hello world!'; $str1 = 'hello world!'; $str2 = 'www.baidu.com'; echo ucwords($str); echo '<br/>'; echo ucwords($str1); echo '<br/>'; echo ucwords($str2); echo '<br/>'; echo ucwords($str2,'.'); //输出结果: //hello world! //hello world! //www.baidu.com //www.baidu.com
8、mb_convert_case():可以对字符串进行大小写转换
mb_convert_case($str, $mode [, $encoding = mb_internal_encoding()]) //$str 是需要转换的字符串; //$mode 是转换模式,可以是 mb_case_upper、 mb_case_lower 和 mb_case_title 的其中一个; //mb_case_upper:将字符串转化成大写 //mb_case_upper:将字符串转化成小写 //mb_case_title:将首字母大写,其他字母小写 //$encoding 是参数的字符编码,可以省略。
$str = 'hello world!'; $str1 = 'hello world!'; $str2 = 'www.baidu.com'; echo mb_convert_case($str,mb_case_upper);echo '<br/>'; echo mb_convert_case($str1,mb_case_lower); echo '<br/>'; echo mb_convert_case($str2,mb_case_title); echo '<br/>'; echo mb_convert_case($str1,mb_case_title); echo '<br/>'; echo mb_convert_case($str,mb_case_title); //输出结果: //hello world! //hello world! //www.baidu.com //hello world! //hello world!
和 strtolower()、strtoupper() 函数相比,mb_convert_case() 函数大小写转换的执行根据 unicode 字符属性的基础。因此 mb_convert_case() 函数的行为不受语言环境(locale)设置的影响,能够转换任意具有“字母”属性的字符。
二、关于字符串查找的函数
1、strpos():用来查找字符串首次出现的位置(区分大小写);
mixed strpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) 参数说明: ·haystack:在该字符串中查找; ·needle:needle 可以是一个单字符或者多字符的字符串。如果 needle 不是一个字符串,那么它将被转换为整型并被视为字符顺序值 ·offset:偏移量。可选的 offset 参数允许你指定从 haystack 中的哪个字符开始查找,返回的位置数字值仍然相对于 haystack 的起始位置 返回:返回 needle 存在于 haystack 字符串开始的位置(独立于偏移量) 注: ·字符串位置起始于 0,而不是 1; ·如果未发现needle,则返回false;
⚠️ 此函数的偏移量不能是负数!
eg.
$str = 'this is a string'; echo strpos($str,'s'); //输出:3 echo strpos($str,'s',4); //输出:6 echo strpos($str,'is'); //输出:2 echo strpos($str,' s'); //输出:9 echo strpos($str,'t'); //输出:0 echo strpos($str,'t'); //输出:11
2、stripos():和strpos()函数类似,用来查找字符串首次出现的位置;不同的是它不区分大小写。
语法和strpos()一样
⚠️ 此函数的偏移量不能是负数!
eg.
$str = 'this is a string'; echo stripos($str, 's'); //输出:3 echo stripos($str,'t'); //输出:0 echo stripos($str,'t'); //输出:0
3、strrpos():用来计算指定字符串在目标字符串中最后一次出现的位置(区分大小写)
语法和strpos()一样
⚠️ 如果是负数的偏移量,将会导致查找在字符串结尾处开始的计数位置处结束。
eg.
$str = 'this is a string'; echo strrpos($str,'g'); //输出:15 echo strrpos($str,'g',-1);//输出:15 echo strrpos($str,'s'); //输出:10 echo strrpos($str,'s',-7);//输出:6 echo strrpos($str,'i'); //输出:13 echo strrpos($str,'i',-4);//输出:5
4、strripos():与strrpos()函数类似,用来查找字符串在目标字符串中最后一次出现的位置,不同的是它不区分大小写。
语法和strpos()一样。
⚠️ 负数偏移量将使得查找从字符串的起始位置开始,到 offset 位置为止。
eg.
$str = 'this is a string'; echo strrpos($str,'t'); //输出:0 echo '<br/>'; echo strrpos($str,'t'); // 输出:11 echo strripos($str,'t'); //输出:11 echo '<br/>'; echo strripos($str,'t'); //输出:11
未完待续……