php字符串常用内置函数

版权声明:让我们一起享受这神奇的0和1吧 https://blog.csdn.net/eebaicai/article/details/83692054

学习函数的大纲
1.作用
2.语法
3.示例

字符串常用函数分类

  • 字符串长度函数
  • 查找字符串位置函数
  • 字符串替换函数
  • 提取字符串字符函数
  • 分割,连接,反转函数
  • 去除,增加空格函数
  • html代码/数据库安全处理有关函数
  • 比较字符函数
  • 字符大小写转换函数

1.字符串长度函数

strlen函数:算法复杂度是o(1),因为zval结构体中value存了len
作用:返回字符串的长度
语法:strlen(string)
string	必需。规定要检查的字符串。

示例:
$str = 'hello';
echo strlen($str); //5 
$str = '你';
echo strlen($str); //3
echo mb_strlen($str,'utf-8'); //1

这里区分strlen()mb_strlen()
strlen:
一个中文是3个长度,因为uft-8是用3个字节来存储中文的
mb_strlen:
设置编码为utf-8的时候,一个中文的长度是1
设置编码为gbk或者gb2312的时候,一个中文的长度是2
mb_internal_encoding():获取内部编码

2.查找字符串位置函数

strpos函数
作用:查找字符串中某字符最先出现的位置。
语法:strpos(string,find,start)
string    	必需。规定要搜索的字符串。 
find    	必需。规定要查找的字符串。
start    	可选。规定在何处开始搜索。
说明:查找字符串在另一字符串中第一次出现的位置。
对大小写敏感。该函数是二进制安全的。

示例:
$str = 'abc';
$char = 'c';
strpos($str,$char); //20开始的,没有就返回bool类型false,所以判断有木有要用 ===

stripos()函数
作用:寻找字符串中某字符最先出现的位置,不区分大小写
strrpos()函数
作用:寻找某字符串中某字符最后出现的位置

3.字符串替换函数

str_replace()函数
作用:字符串替换操作,区分大小写
语法:str_replace(find,replace,string,count)
find    	必需。规定要查找的值。
replace    	必需。规定替换 find 中的值的值。 
string    	必需。规定被搜索的字符串。
count    	可选。对替换数进行计数的变量。
说明:以其他字符替换字符串中的一些字符(区分大小写)。
该函数是二进制安全的.
如果搜索的字符串是数组,那么它将返回数组。
如果搜索的字符串是数组,那么它将对数组中的每个元素进行查找和替换。
如果同时需要对数组进行查找和替换,并且需要执行替换的元素少于查找到的元素的数量,
那么多余元素将用空字符串进行替换。
如果查找的是数组,而替换的是字符串,那么替代字符串将对所有查找到的值起作用。

示例:
使用带有数组和 count 变量的 str_replace() 函数:
$arr = array("blue","red","green","yellow");
print_r(str_replace("red","pink",$arr,$i));
echo "Replacements: $i";
//Array ( [0] => blue [1] => pink [2] => green [3] => yellow ) 
//Replacements: 1

使用带有需要替换的元素少于查找到的元素的 str_replace() 函数:
$find = array("Hello","world");
$replace = array("B");
$arr = array("Hello","world","!");
print_r(str_replace($find,$replace,$arr));
//Array ( [0] => B [1] => [2] => ! )

str_ireplace() 函数
作用:字符串替换操作,不区分大小写

strtr()函数:
作用:转换字符串中的某些字符
语法:strtr(string,from,to)或者strtr(string,array)
string	必需。规定要转换的字符串。
from	必需(除非使用数组)。规定要改变的字符。
to		必需(除非使用数组)。规定要改变为的字符。
array	必需(除非使用 from 和 to)。数组,其中的键名是更改的原始字符,键值是更改的目标字符。
说明:转换字符串中特定的字符。如果 from 和 to 参数的长度不同,则会被格式化为最短的长度。
示例:
$str = '男人,女人,男孩,女孩';
echo strtr($str,'孩','神') //
echo strtr($str,['男'=>'女','女'=>'男']);

substr_replace()函数:(建议先看下面的substr)
作用:替换字符串中某串为另一个字符串
语法:substr_replace(string,replacement,start,length)
说明:把字符串的一部分替换为另一个字符串。如果 start 参数是负数且 length 小于或者等于 start,则 length 为 0。该函数是二进制安全的。

实例:
echo substr_replace("Hello world","baicai",6); //Hello baicai

4.提取字符串字符函数

substr()函数
作用:截取字符串
语法:substr(string,start,length)
string	必需。规定要返回其中一部分的字符串。
start	必需。规定在字符串的何处开始。正数 - 在字符串的指定位置开始,
负数 - 在从字符串结尾开始的指定位置开始,0 - 在字符串中的第一个字符处开始。
length	可选。规定被返回字符串的长度。默认是直到字符串的结尾。
正数 - 从 start 参数所在的位置返回的长度,负数 - 从字符串末端返回的长度。
(其实这里的length理解成end好一点,截取到的位置,0开始,不包含end这个位置,
开区间[start,end))


说明:返回字符串的一部分。如果 start 参数是负数且 length 小于或等于 start,
则 length 为 0。

示例:
$str = 'this is a test';
echo substr($str, 0, 3);
echo substr($str, 0, -3);
echo substr($str, -10, -3);

strstr() 函数(别名strchr)
作用:搜索字符串在另一字符串中是否存在,如果是,返回该字符串及剩余部分,否则返回 FALSE。该函数是二进制安全的。
语法:strstr(string,search,before_search)
string	必需。规定被搜索的字符串。
search	必需。规定要搜索的字符串。如果该参数是数字,则搜索匹配该数字对应的 ASCII 值的字符。
before_search	可选。一个默认值为 "false" 的布尔值。如果设置为 "true",它将返回 search 参数第一次出现之前的字符串部分。

注释:该函数是区分大小写的。如需进行不区分大小写的搜索,请使用 stristr() 函数。
strrchr() 从最后一次搜索到的字符处返回.
示例:
echo strstr("Hello world!","world");  // 输出 world!

5.分割,连接,反转函数

explode()函数
作用:把字符串打散为数组
语法:explode(separator,string,limit)
separator	必需。规定在哪里分割字符串。
string    	必需。要分割的字符串。
limit	可选。规定所返回的数组元素的数目。
可能的值:
大于 0 - 返回包含最多 limit 个元素的数组,
小于 0 - 返回包含除了最后的 -limit 个元素以外的所有元素的数组,
0 - 返回包含一个元素的数组

说明:把字符串打散为数组。"separator" 参数不能是空字符串。该函数是二进制安全的。

示例:
$arr = "Learning PHP is a good choice";
print_r(explode(" ", $arr));

implode()函数:
作用:把数组元素组合为字符串
语法:implode(separator,array)
separator   可选。规定数组元素之间放置的内容。默认是 ""(空字符串)。
array    	必需。要组合为字符串的数组。

示例:
$arr = array('Hello','World!','I','love','PHP!');
echo implode(" ",$arr);

str_split()函数:
作用:把字符串分割到数组中
语法:str_split(string,length)
string	必须,要分割的字符串
length	可选,规定每个数组元素的长度,默认为1,如果length小于1,则返回false,如果length长度大于当前字符串的长度,则整个字符串将作为数组的唯一元素返回。
说明:将字符串按规定长度分割组成数组

示例:
$str = "helloworld";
$arr = str_split($str,3);
print_r($arr);
//Array ( [0] => hel [1] => low [2] => orl [3] => d )

strrev()函数:
作用:反转字符串
语法:strrev(string)
说明:返回已反转的字符串。
示例:
$i = "hello world";
$j = strrev($i);
echo $j;
//dlrow olleh

6.去除,增加空格函数

string trim ( string $str [, string $charlist ] )
作用:删除字符串两端的空格或其他预定义字符
string	    规定要处理的字符串
charlist	可选,规定要从字符串中删除哪些字符,
如果为空,则移除以下所有字符:"\0" -- NULL,"\t" -- 制表符,"\n" -- 换行,"\x0B" -- 垂直制表符,"\r" -- 回车," " -- 空格

string ltrim ( string $str [, string $charlist ] )
string rtrim ( string $str [, string $charlist ] )

示例:
$i = "   hello world   ";
echo "没有经过trim处理".$i;
echo "<br>";
$j = trim($i);
echo "经过trim处理".$j;

chunk_split()函数:
作用:把字符串分割为一连串更小的部分。
语法:chunk_split(string,length,end)
string	必需。规定要分割的字符串。
length	可选。数字值,定义字符串块的长度。默认是 76。
end	    可选。字符串值,定义在每个字符串块末端放置的内容。默认是 \r\n。

示例:
$str = "Hello php.cn!";
echo chunk_split($str,3,"..."); 
//Hel...lo ...php....cn...!...

str_pad()函数:
作用:把字符串填充到指定长度
语法:str_pad(string,length,pad_string,pad_type)
string	必须,规定要填充的字符串,
length	必须,规定新的字符串长度,如果该值小于字符串的原始长度,则不做任何操作。
pad_string	可选,规定填充使用的字符串,默认是空白。
pad_type	可选,规定填充字符串哪边,
STR_PAD_BOTH -- 填充字符串的两侧,如果不是偶数,则右侧获得额外的填充。STR_PAD_LEFT -- 填充字符串的左侧。
STR_PAD_RIGHT -- 填充字符串的右侧,默认。

示例:
$i = "hello world";
$j = str_pad($i,30,"!"); //未设置填充字符串位置,默认为右侧
echo $j;
echo "<br>";
$k = "hello world";
$h = str_pad($k,30,".",STR_PAD_LEFT);//设置填充字符串的位置为左侧
echo $h;
//hello world!!!!!!!!!!!!!!!!!!!
//...................hello world
$k = "hello world";
$h = str_pad($k,20,".",STR_PAD_BOTH);//设置填充字符串的位置为左侧
echo $h;
//....hello world.....

7.字符转义函数

addslashes ( string $str )
作用:返回在预定义字符之前添加反斜杠的字符串。
预定义字符是:
单引号(')
双引号(")
反斜杠(\)
NULL
提示:该函数可用于为存储在数据库中的字符串以及数据库查询语句准备字符串。

stripslashes ( string $str )
删除由 addslashes() 函数添加的反斜杠。
提示:该函数可用于清理从数据库中或者从 HTML 表单中取回的数据。

htmlspecialchars —— 将字符串中一些字符转换为 HTML 实体
htmlspecialchars_decode —— htmlspecialchars()函数的反函数,将 HTML 实体转换为字符

html_entity_decode —— htmlentities ()函数的反函数,将 HTML 实体转换为字符
htmlentities —— 将字符串中所有可转换字符转换为 HTML 实体

8.字符串比较函数

 strcmp()函数
作用:比较两个字符串(区分大小写)
语法:strcmp(string1,string2)
string1	必须,规定要比较的第一个字符串。
string2	必须,规定要比较的第二个字符串。
说明:strcmp() 函数比较两个字符串。strcmp() 函数是二进制安全的,且对大小写敏感。如果两个字符串相等,则输出0,如果string1小于string2,输出的值-1,如果string1大于string2,输出的值1。    

示例:
$i = "Hello world";
$j = "HELLO WORLD";
echo strcmp($i,$j);
//1

strcasecmp() 同上(不分大小写)

9.转换大小写函数

strtolower() 
作用:字符串转换成小写
strtoupper()
作用:字符串转换成大写
ucfirst() 
作用:字符串第一个字符转换为大写
ucwords() 
作用:将每个单词的首字母转换为大写

猜你喜欢

转载自blog.csdn.net/eebaicai/article/details/83692054