返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP 字符串相关常用操作方法
  • 865
分享到

PHP 字符串相关常用操作方法

phpapache开发语言 2023-09-11 10:09:00 865人浏览 薄情痞子
摘要

PHP 字符串相关操作方法 并置运算符 查找字符位置strlen() 获取字符串长度mb_strlen() 获取中文等字符串长度strpos() 返回字符串在另一字符串中第一次出现的位置(

PHP 字符串相关操作方法

并置运算符

并置运算符 (.) 用于把两个字符串值连接起来。

$a = 'hello';$b = 'world!'echo $a.' '.$b;// hello world

查找字符位置

strlen() 获取字符串长度

$a = 'hello';echo strlen($a);// 5

mb_strlen() 获取中文等字符串长度

与 strlen 不同的时,它可以通过设置字符编码从而返回对应的字符数,很好的处理了中文字符串的长度问题。

使用 mb_strlen 要开启 mbstring 扩展。

语法

strlen(string[, string $encoding = mb_internal_encoding() ] ))

mb_internal_encoding() 用于设置/获取内部字符编码。

参数描述
string必需。规定要检查的字符串。
encoding可选。字符编码。如果省略,则使用内部字符编码。
$a = '你好';echo mb_strlen($a);// 2echo strlen($a);// 6

strpos() 返回字符串在另一字符串中第一次出现的位置(大小写敏感)。

如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。
语法

strpos(string,find,start)

参数描述
string必需。规定被搜索的字符串。
find必需。规定要查找的字符。
start可选。规定开始搜索的位置。
$a = 'hello world!';echo strpos($a,'world');// 6

stripos() 返回字符串在另一字符串中第一次出现的位置(大小写不敏感)。

如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。

语法

stripos(string,find,start)

参数描述
string必需。规定被搜索的字符串。
find必需。规定要查找的字符。
start可选。规定开始搜索的位置。
$a = 'hello world!';echo stripos($a,'World');// 6

strrpos() 查找字符串在另一字符串中最后一次出现的位置(区分大小写)。

如果在字符串中找到匹配,该函数会返回最后一个匹配的字符位置。如果未找到匹配,则返回 FALSE。
语法

strrpos(string,find,start)

参数描述
string必需。规定被搜索的字符串。
find必需。规定要查找的字符。
start可选。规定开始搜索的位置。
$a = 'hello world!';echo strrpos($a,'world');// 6

strripos() 查找字符串在另一字符串中最后一次出现的位置(不区分大小写)。

如果在字符串中找到匹配,该函数会返回最后一个匹配的字符位置。如果未找到匹配,则返回 FALSE。
语法

strripos(string,find,start)

参数描述
string必需。规定被搜索的字符串。
find必需。规定要查找的字符。
start可选。规定开始搜索的位置。
$a = 'hello world!';echo strripos($a,'World');// 6

strstr() 搜索字符串在另一字符串中是否存在,如果是,返回该字符串及剩余部分,否则返回 FALSE。(区分大小写)

语法

strstr(string,search,before_search)

参数描述
string必需。规定被搜索的字符串。
search必需。规定要搜索的字符串。如果该参数是数字,则搜索匹配该数字对应的 ASCII 值的字符。
before_search可选。一个默认值为 “false” 的布尔值。如果设置为 “true”,它将返回 search 参数第一次出现之前的字符串部分。
$a = 'hello world!';echo strstr($a,'world');// world!

stristr() 搜索字符串在另一字符串中是否存在,如果是,返回该字符串及剩余部分,否则返回 FALSE。(不区分大小写)

语法

stristr(string,search,before_search)

参数描述
string必需。规定被搜索的字符串。
search必需。规定要搜索的字符串。如果该参数是数字,则搜索匹配该数字对应的 ASCII 值的字符。
before_search可选。一个默认值为 “false” 的布尔值。如果设置为 “true”,它将返回 search 参数第一次出现之前的字符串部分。
$a = 'hello world!';echo stristr($a,'World');// world!

substr() 函数返回字符串的一部分

注释:如果 start 参数是负数且 length 小于或等于 start,则 length 为 0。

语法

substr(string,start,length)

参数描述
string必需。规定要返回其中一部分的字符串。
start必需。规定在字符串的何处开始。
正数 - 在字符串的指定位置开始
负数 - 在从字符串结尾的指定位置开始
0 - 在字符串中的第一个字符处开始
length可选。规定要返回的字符串长度。默认是直到字符串的结尾。
正数 - 从 start 参数所在的位置返回
负数 - 从字符串末端返回
echo substr("Hello world",6);// world

mb_substr() 函数返回中文字符串的一部分

注释:如果 start 参数是负数且 length 小于或等于 start,则 length 为 0。

语法

mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] ) : string

参数描述
string必需。规定要返回其中一部分的字符串。
start必需。规定在字符串的何处开始。
正数 - 在字符串的指定位置开始
负数 - 在从字符串结尾的指定位置开始
0 - 在字符串中的第一个字符处开始
length可选。规定要返回的字符串长度。默认是直到字符串的结尾。
正数 - 从 start 参数所在的位置返回
负数 - 从字符串末端返回
encoding可选。字符编码。如果省略,则使用内部字符编码。
echo mb_substr("世界你好", 0, 2);// 世界echo substr("世界你好", 0, 2);// �

substr_count() 计算子串在字符串中出现的次数。

注释:子串是区分大小写的。

注释:该函数不计数重叠的子串

注释:如果 start 参数加上 length 参数大于字符串长度,该函数则生成一个警告

substr_count(string,substring,start,length)

参数描述
string必需。规定要检查的字符串。
substring必需。规定要检索的字符串。
start可选。规定在字符串中何处开始搜索。
length可选。规定搜索的长度。
echo substr_count("Hello world. The world is nice","world");// 2

substr_replace() 把字符串的一部分替换为另一个字符串。

如果 start 参数是负数且 length 小于或者等于 start,则 length 为 0

substr_replace(string,replacement,start,length)

参数描述
string必需。规定要检查的字符串。
replacement必需。规定要插入的字符串。
start必需。规定在字符串的何处开始替换。
正数 - 在字符串的指定位置开始
负数 - 在从字符串结尾的指定位置开始
0 - 在字符串中的第一个字符处开始
length可选。规定要替换多少个字符。默认是与字符串长度相同。
正数 - 被替换的字符串长度
负数 - 从字符串末端开始的被替换字符数
0 - 插入而非替换
echo substr_replace("Hello","world",0);// world

数组字符串转换

join() 数组转字符串

join() 函数是 implode() 函数的别名。
语法

join(separator,array)

参数描述
separator可选。规定数组元素之间放置的内容。默认是 “”(空字符串)。
array必需。要组合为字符串的数组。
$arr = array('Hello','World!','Beautiful','Day!');echo join(" ",$arr);// Hello World! Beautiful Day!

explode() 字符串切割为数组

语法

explode(separator,string,limit)

参数描述
separator必需。规定在哪里分割字符串。
string必需。要分割的字符串。
limit可选。规定所返回的数组元素的数目。
可能的值:
大于 0 - 返回包含最多 limit 个元素的数组
小于 0 - 返回包含除了最后的 -limit 个元素以外的所有元素的数组
0 - 会被当做 1, 返回包含一个元素的数组
$str = "1.2.3";print_r (explode(".",$str));// Array ( [0] => 1 [1] => 2 [2] => 3 ) 

大小写转换

lcfirst() 字符串首字符转换为小写

lcfirst() 函数把字符串中的首字符转换为小写。

echo lcfirst("Hello world!");// hello world!

ucfirst() 字符串首字符转换为大写

ucfirst() 函数把字符串中的首字符转换为大写。

echo ucfirst("hello world!");// Hello world!

ucWords() 每个单词的首字符转换为大写

ucwords() 函数把每个单词的首字符转换为大写。

echo ucwords("hello world!");// Hello World!

strtoupper() 把所有字符转换为大写

strtoupper() 函数把所有字符转换为大写。

echo strtoupper("hello world!");// HELLO WORLD!

strtolower() 把所有字符转换为小写

strtolower() 函数把所有字符转换为小写。

echo strtolower("HELLO WORLD!");// hello world!

清除空格或指定字符

注意此处是字符,只要左右包含预设值中的字符就会被删除

rtrim() 移除字符串右侧的空白字符或其他预定义字符

$str = "Hello World!";echo rtrim($str,"World!");// Hello (注意还有一个空格)

语法

rtrim(string,charlist)

参数描述
string必需。规定要检查的字符串。
charlist可选。规定从字符串中删除哪些字符。如果省略该参数,则移除下列所有字符:
“\0” - NULL
“\t” - 制表符
“\n” - 换行
“\x0B” - 垂直制表符
“\r” - 回车
" " - 空格

ltrim() 移除字符串左侧的空白字符或其他预定义字符

$str = "Hello World!";echo '-'. ltrim($str,"Hello");// - World!

语法

ltrim(string,charlist)

参数描述
string必需。规定要检查的字符串。
charlist可选。规定从字符串中删除哪些字符。如果省略该参数,则移除下列所有字符:
“\0” - NULL
“\t” - 制表符
“\n” - 换行
“\x0B” - 垂直制表符
“\r” - 回车
" " - 空格

trim() 移除字符串左右两侧的空白字符或其他预定义字符

$str = "Hello World!";echo trim($str,"Hed!");// llo Worl

语法

trim(string,charlist)

参数描述
string必需。规定要检查的字符串。
charlist可选。规定从字符串中删除哪些字符。如果省略该参数,则移除下列所有字符:
“\0” - NULL
“\t” - 制表符
“\n” - 换行
“\x0B” - 垂直制表符
“\r” - 回车
" " - 空格

加密

sha1() 计算字符串的 SHA-1 散列

$str = "Hello";echo sha1($str);// f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0

语法

sha1(string,raw)

参数描述
string必需。规定要计算的字符串。
raw可选。规定十六进制或二进制输出格式:
TRUE - 原始 20 字符二进制格式
FALSE - 默认。40 字符十六进制数

md5() 计算字符串的 MD5 散列

$str = "Hello";echo md5($str);// 8b1a9953c4611296a827abf8c47804d7

语法

md5(string,raw)

参数描述
string必需。规定要计算的字符串。
raw可选。规定十六进制或二进制输出格式:
TRUE - 原始 16 字符二进制格式
FALSE - 默认。32 字符十六进制数

字符串替换

str_replace() 替换字符串中的一些字符(区分大小写)。

该函数必须遵循下列规则:

  • 如果搜索的字符串是一个数组,那么它将返回一个数组。
  • 如果搜索的字符串是一个数组,那么它将对数组中的每个元素进行查找和替换。
  • 如果同时需要对某个数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余的元素将用空字符串进行替换。
  • 如果是对一个数组进行查找,但只对一个字符串进行替换,那么替代字符串将对所有查找到的值起作用。

语法

str_replace(find,replace,string,count)

参数描述
find必需。规定要查找的值。
replace必需。规定替换 find 中的值的值。
string必需。规定被搜索的字符串。
count可选。一个变量,对替换数进行计数。

str_ireplace() 替换字符串中的一些字符(不区分大小写)。

该函数必须遵循下列规则:

  • 如果搜索的字符串是一个数组,那么它将返回一个数组。
  • 如果搜索的字符串是一个数组,那么它将对数组中的每个元素进行查找和替换。
  • 如果同时需要对某个数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,那么多余的元素将用空字符串进行替换。
  • 如果是对一个数组进行查找,但只对一个字符串进行替换,那么替代字符串将对所有查找到的值起作用。

语法

str_ireplace(find,replace,string,count)

参数描述
find必需。规定要查找的值。
replace必需。规定替换 find 中的值的值。
string必需。规定被搜索的字符串。
count可选。一个变量,对替换数进行计数。

其他

strrev() 反转字符串。

echo strrev("Hello World!");// !dlroW olleH

来源地址:https://blog.csdn.net/lhkuxia/article/details/128682391

--结束END--

本文标题: PHP 字符串相关常用操作方法

本文链接: https://www.lsjlt.com/news/402934.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作