欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP 常用的字符串函数

程序员文章站 2022-06-21 23:32:23
PHP 工作中常用的字符串函数 一、关于字符串大小写转换的函数 1、strtoupper($string):将字符串$string中的字母转换成大写,并将转化后的字符串返回; $str = '这是一个string'; echo strtoupper($str); //输入结果: //这是一个STRI ......

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

 

 

未完待续……