简而言之就是php针对字符串一些操作函数。
在PHP中,字符串是字符的集合。一个字符占用一个字节的存储空间。
字符是由字节组成的,但是汉字是多字节字符串。
字节是最小的存储单位
普通的字母,我们还可以使用[]来输出
因为我们把字符串看成是由一个一个的字符组成的。
但多字节字符串则有问题
如果我们连续输出3 2上字节,汉字就可以出来的
为什么要3个字节?
因为文件是用utf-8编码保存的,所以里面的汉字也是utf-8编码的
一个utf-8编码汉字,占用3个字节的存储空间
而gbk编码的汉字,占用2个字节的存储空间
使用[]输出字符的方式,和编码格式有关
Strlen() 获取字符串长度,是按字节来计算的
在PHP中,它是把所有的字符串按字节来衡量的,因此汉字和编码有关
Md5() 得到输入字符串的一个散列值,是一个固定32位长度的字符串
得到的值是不可逆的,通常用于网站保存用户的密码
简单的对字符串md5不一定安全,如123456它md5后的结果就是一个
怎么能做到更安全?
在给用户的密码串md5时,增加一个salt随机字符串(这个串也要记录在数据表中)
Md5(Md5($password) . $salt)
Str_shuffle()打乱一个字符串
注意:不要对含有多字节字符串的字符串进行乱序操作,没有意义
Strrev()反转字符串
注意:同样不要对有汉字的字符进行此操作
Srt_pad()使用另一个字符串填充一个字符串为指定长度
第一个参数表示填充后字符串的长度
第二个参数表示使用什么字符来填充,默认是使用空格
第三个参数,在哪边填充,默认是在右边
第三个参数可以是STR_PAD_LEFT左边 STR_PAD_RIGHT右边 STR_APD_BOTH两边
Str_repeat()重复一个字符串
Trim() 去除两端的字符
Ltrim() 去除左边的字符
Rtrim()去除右边的字符
默认情况下,是去除空格及几个特殊的字符
在网站接收表单数据时,对于字符串类型的参数经常要使用trim去除两端的空格
此函数还可以去除给出的字符列表中的字符
第二个参数是字符的列表,不是说去除这个字符串!
英文情况下,空格隔开的被认为是单词
有一个面试题:把用下划线命名的变量名变成大驼峰法方式
student_age 变成 StudentAge
Str_split()把字符串转化成数组
把字符串按指定的长度拆分到数组元素
这两个函数的作用,是为了把字符串的需要转义的字符进行转义,主要是为了防止如SQL注入的问题
Addslashes()这个函数就对字符串中的引号进行转义,加了转义符就不会有问题了
上面是一个网站的安全知识
htmlspecialchars()
使用htmlspecialchars转义的字符叫实体字符
它有两种格式:
&名;
数字;
Strip_tags()去除掉字符串的html标记
在你做网页采集时,内容有很多HTML标签,使用这个函数后可以去除掉
第三个参数字符长度可以为负数,代表从后向前几个字符将被忽略、
第二个参数也可以为负,为负时就从后向前数几个字符开始截取
注意一下,如果查找的字符串出现在最前的位置,则返回0
要用全等来判断是否找到子串
strstr()它有一个别名strchr(),查找字符串首次出现位置
面试题:取文件的后缀
Config.inc.php
需要mbstring支持,在php.ini中需要打开注释
此类函数可以对多字节字符串进行处理
Mb_strlen()
Mb_substr()
Mb_strpos()
我是小咖
绝密心法:上面所讲皆可以在php官方手册上查到。
发个邀请:
如果你正好想学习php,可以与我一起交流,我的VX:feilueze333。下面资料免费赠送。