今日继续分享《php8的字符串操作》昨天一天都没有写多少,内容多,今天继续:
昨天分享的是1、使用trim()、rtrim()和ltrim()函数去除字符串首尾空格和特殊字符。2、使用strlen()函数和mb_strlen()函数获取字符串的长度。
3、截取字符串
PHP对字符串的截取可以使用内置函数substr()和mb_substr()实现。
通常情况下,substr()函数用于截取英文字符。mb_substr()函数用于带有中文字符的字符串。
3.1、substr()函数
在一个字符串中截取一个子串,就是字符串截取。使用substr()函数,可以完成字符串的截取。
substr()函数有3个参数,分别是目标字符串、起始位置和截取长度。语法格式如下:
substr(目标字符串,起始位置,截取长度)
其中:
1、目标字符串是某个字符串变量的变量名,起始位置和截取长度都是整数。
2、如果都是正数,起始位置的整数必须小于截取长度的整数,否则函数返回值为假。
3、如果截取的字符串为负数,则意味着是从起始位置开始往后,截取从目标字符串结尾算起的长度数的字符以外的所有字符。
4、字符串的起死位置是从0开始计算的,也就是字符串中第一个字符的位置表示为0。
下面,本站制作的一个PHP字符串起始位置的示意图,让大家更好的进行理解:
使用substr()函数截取字符串长度,参考代码:
<?php
$a = "Welcome to China";
echo substr($a,0); //从第1个字符开始截取
echo "<br>";
echo substr($a,3,10); //从第4个字符开始截取10个字符
echo "<br>";
echo substr($a,-5,5); //从倒数第5个字符开始截取5个字符
echo "<br>";
echo substr($a,0,-5); //从第1个字符,到倒数第5个字符
?>
在PHP8中运行以上程序的结果是:
Welcome to China
come to Ch
China
Welcome to
3.2、mb_substr()函数
mb_substr()函数用于截取,带有汉字字符的字符串,语法格式如下:
mb_substr(目标字符串,起始位置,截取长度,$encoding = 编码)
其中:
1、目标字符串是某个字符串变量的变量名,起始位置和截取长度都是整数。
2、起始位置就是要截取的第一个位置。如果长度为正数就是正序,如果长度为负数就是反序。
3、encoding表示字符编码,如果省略,则使用内部字符编码。
4、返回值是根据目标字符串和起始位置,截取长度等返回目标字符串的一部分。
代码示范:
<?php
$a = "我是中国人,我爱自己的祖国";
echo mb_substr($a,0); //从第1个字符开始截取
echo "<br>";
echo mb_substr($a,3,10); //从第4个字符开始截取10个字符
echo "<br>";
echo mb_substr($a,-5,5); //从倒数第5个字符开始截取5个字符
echo "<br>";
echo mb_substr($a,0,-5); //从第1个字符,到倒数第5个字符
?>
在PHP8中运行的结果如下:
我是中国人,我爱自己的祖国
国人,我爱自己的祖国
自己的祖国
我是中国人,我爱
4、检索字符串
检索字符串就是在一个字符串中查找另一个字符串,就像我们在文本编辑器里面查找关键字一样。
要想检索字符串,我们可以使用以下内置函数。
4.1、strstr()函数
获取一个指定字符串在另一个字符串中,首次出现的位置到末尾的子字符串,可以使用strstr()函数,语法如下:
strstr(目标字符串,查找的字符串)
示例:
<?php
$a = "我正在学习PHP8,你要学习吗?";
echo strstr($a,"PHP");
?>
以上代码在PHP8中的运行结果为:
PHP8,你要学习吗?
上面的查找的字符串是有大小写区分的,我修改大小写就不能正确显示了。
<?php
$a = "我正在学习PHP8,你要学习吗?";
echo strstr($a,"php");
?>
在PHP8中运行结果为:空(什么都不显示),要想不区分大小写,可以使用stristr()函数。
4.2、stristr()函数
stristr()函数和strstr()函数一样,就是可以不区分大小写,如下代码:
<?php
$a = "我正在学习PHP8,你要学习吗?";
echo stristr($a,"php");
?>
以上代码在PHP8中的运行结果为:
PHP8,你要学习吗?
4.3、strpos()函数
strpos()函数用于查找字符串首次出现的位置,返回数字首次出现的位置。strpos()函数语法如下:
strpos(目标字符串,查找的字符串)
参考代码如下:
<?php
$a = "我正在学习PHP8,你要学习吗?";
echo strpos($a,"PHP");
?>
在PHP8中运行结果如下:
15
今天就写到这里,字符串的操作还没有写完,明天继续写PHP8的字符串操作3。