缘起宇轩阁 2019-10-28
php系统核心库自带的函数中,字符串比数组函数较为简单,但还是有一些较为复杂但又很常用的函数,比如下面的这些函数
explode()函数
用一个字符串来分割另一个字符串,返回结果是一个数组
explode(字符串型分隔符,目标字符串,设置返回数组元素的上限)
特例1.如果分割符为空字符串,函数返回false
特例2.如果分割符在目标字符串中不出现,且第三个参数为负数,函数返回空数组
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; var_dump( explode(" ", $pizza) ); // array(6) { // [0] => // string(6) "piece1" // [1] => // string(6) "piece2" // [2] => // string(6) "piece3" // [3] => // string(6) "piece4" // [4] => // string(6) "piece5" // [5] => // string(6) "piece6" // }
特例
// 特例1 $pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; var_dump( explode("", $pizza, -2) ); // bool(false) // 特例2 $pizza = "piece1 piece2 piece3 piece4 piece5 piece6"; var_dump( explode(",", $pizza, -2) ); // array(0) { // }
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
// 开始位置为负 $rest = substr("abcdef", -1); // 返回 "f" $rest = substr("abcdef", -2); // 返回 "ef" $rest = substr("abcdef", -3, 1); // 返回 "d" // 截取的长度为负 $rest = substr("abcdef", 0, -1); // 返回 "abcde" $rest = substr("abcdef", 2, -1); // 返回 "cde" $rest = substr("abcdef", 4, -4); // 返回 "" $rest = substr("abcdef", -3, -1); // 返回 "de" // 返回false的情况 $rest = substr("abcdef", 7, 1); // 返回 false $rest = substr("abcdef", 2, -5); // 返回 false // 返回空字符串 $rest = substr("abcdef", 1, -5); // 返回 ‘‘ $rest = substr("abcdef", 1, 0); // 返回 ‘‘ $rest = substr("abcdef", 1, false); // 返回 ‘‘ $rest = substr("abcdef", 1, null); // 返回 ‘‘