文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-09-11 10:54

关注

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯