【辅导】Task09 使用字符串 主要知识点
1、关于字符编码
php中,对字符串的存储是不区分字符编码的,它始终是字节编码。具体存储时如何编码,由文件的编码格式而定。我们上课时,一直是用utf-8编码格式的。
你去取字符串时,就看你使用什么函数去操作,而决定是否使用哪种编码格式。有些字符串操作,与编码无关,如字符串的分割合并,比较替换,有些字符串操作,跟编码有关系,如计算字符串长度strlen vs. mb_strlen,取子串:substr vs. mb_substr。
可以把字符串当成一个字符数组来操作。
关于字符编码,ascii, unicode和utf-8的关系,请参看《字符编码笔记:ascii,unicode 和 utf-8》
关于php中的多字节函数,请参见:
2、字符串表示
使用双引号 或 heredoc语法结构:支持变量转义;
“我的名字是{$name}student”
使用单引号 或 nowdoc语法结构:不支持变量转义;
所谓heredoc或nowdoc,就是为方便使用多行文本, 用 <<<xxx 或 <<<"xxx"代替双引号,用<<<'xxx'代替单引号,注意最后一行必须顶头写xxx结束多行字符串。xxx可以是任何一个标识符。
3、 字符串运算符
只有2个:.和.=
4、关于字符串与其它类型数据的转换
是字符串向其它类型转换,还是其它类型向字符串转换,看运算符。
字符串转换成数值:尽最大程度转换成对应数值,不能转换时为0。有不能转换的其它符号时会有警警告提示。
字符串转换成布尔值:非空串转换为true,空串转换为false。
其它转换参看task 05。
5、常用字符串函数
is_string:检测变量是否是字符串
字符串分割与合并:explode 和 implode, str_split
字符串比较:strcmp, 船形运算符 <=>
字符串替换:str_replace
计算字符串长度:strlen 与 mb_strlen
取子串:substr 与 mb_substr
查找子串位置:str_pos,注意第0位置或找不到区别
查找子串首次出现位置后的子串:strstr, 经常用来判断是否包含子串
压缩首尾空白字符:trim
html转义:htmlspecialchars 与 htmlentities 转换html标记
了解下加密函数 md5 及md5加密算法,参见《md5 加密算法详细介绍》:
更多字符串函数,请查看php手册:
下一篇: HTML教程