php中比较复杂但又常用的字符串函数

Posted hellozxcv的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php中比较复杂但又常用的字符串函数相关的知识,希望对你有一定的参考价值。

php系统核心库自带的函数中,字符串比数组函数较为简单,但还是有一些较为复杂但又很常用的函数,比如下面的这些函数

explode()函数

用一个字符串来分割另一个字符串,返回结果是一个数组

explode(字符串型分隔符,目标字符串,设置返回数组元素的上限)

特例1.如果分割符为空字符串,函数返回false

特例2.如果分割符在目标字符串中不出现,且第三个参数为负数,函数返回空数组

 1 $pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
 2 var_dump( explode(" ", $pizza) );
 3 // array(6) {
 4 //     [0] =>
 5 //     string(6) "piece1"
 6 //     [1] =>
 7 //     string(6) "piece2"
 8 //     [2] =>
 9 //     string(6) "piece3"
10 //     [3] =>
11 //     string(6) "piece4"
12 //     [4] =>
13 //     string(6) "piece5"
14 //     [5] =>
15 //     string(6) "piece6"
16 //   }

特例

1 // 特例1
2 $pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
3 var_dump( explode("", $pizza, -2) );
4 // bool(false)
5 // 特例2
6 $pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
7 var_dump( explode(",", $pizza, -2) );
8 // array(0) {
9 // }

strpos()函数

查找针字符串在大海字符串中首次出现的位置,返回整型位置,或没找到false

strpos(大海字符串,针字符串,默认为0的查找位置)

大海捞针,其他类型的针会被转成字符串,默认为0的查找位置可以设置为1,2,3等等,php7.1之后这个参数才支持负数,没找到返回false

1 // 忽视位置偏移量之前的字符进行查找
2 $newstring = ‘abcdef abcdef‘;
3 $pos = strpos($newstring, ‘a‘, 1); // $pos = 7, 不是 0

除此之外,strrpos ()函数则是 逆向查找首次出现的位置,或者说是 正向查找最后一次出现的位置。

substr()函数

获得目标字符串的子字符串

substr(目标字符串,整型开始位置,整型长度):子字符串或false

 1 // 开始位置为负
 2 $rest = substr("abcdef", -1);    // 返回 "f"
 3 $rest = substr("abcdef", -2);    // 返回 "ef"
 4 $rest = substr("abcdef", -3, 1); // 返回 "d"
 5 
 6 // 截取的长度为负
 7 $rest = substr("abcdef", 0, -1);  // 返回 "abcde"
 8 $rest = substr("abcdef", 2, -1);  // 返回 "cde"
 9 $rest = substr("abcdef", 4, -4);  // 返回 ""
10 $rest = substr("abcdef", -3, -1); // 返回 "de"
11 
12 // 返回false的情况
13 $rest = substr("abcdef", 7, 1); // 返回 false
14 $rest = substr("abcdef", 2, -5); // 返回 false 
15 
16 // 返回空字符串
17 $rest = substr("abcdef", 1, -5); // 返回 ‘‘ 
18 $rest = substr("abcdef", 1, 0); // 返回 ‘‘
19 $rest = substr("abcdef", 1, false); // 返回 ‘‘  
20 $rest = substr("abcdef", 1, null); // 返回 ‘‘ 

 

以上是关于php中比较复杂但又常用的字符串函数的主要内容,如果未能解决你的问题,请参考以下文章

php 常用字符串函数总结

php中常用的字符串比较函数strcmp()实例解释

markdown 代码复杂性报告,用于比较在PHP Raw Raw中编写`clamp`函数的各种样式

比较有用的php代码片段

常用Javascript代码片段集锦

夯实PHP基础PHP常用类和函数总结