PHP基础(五)字符串
字符串类型
1)单引号字符串:使用单引号包裹 单引号里面的不进行解释,直接输出。
2)双引号字符串:使用双引号包裹 双引号里面的字段会经过编译器解释,然后再当作HTML代码输出。
引号方式:比较适合定义那些比较短(不超过一行)或者没有结构要求的字符串,如果有结构要求,或者内容超过一行,可以使用以下两种结构来定义:
3)nowdoc字符串:没有单引号的单引号字符串
$str = <<<’边界符’
字符串内容
边界符;
4)heredoc字符串:没有双引号的双引号字符串
$str = <<<边界符
字符串内容
边界符;
heredoc 和newdoc比引号区别多一点。
结构化定义字符串变量的规则:(heredoc 和 newdoc)
1、结构化定义字符串对应的边界符有条件:
1.1 上边界符后面不能跟任何内容(空格、注释也不能跟)
1.2 下边界符必须顶格(最左边)
1.3 下边界符同样后面只能跟分号,不能跟其他任何内容
2、结构化定义字符串的内部(边界符之间)的所有内容都是字符串本身(包括注释)。会当字符串全部输出。
字符串转义
转义的含义:在计算机通用协议中,有一些特定的方式定义的字母,系统会特定处理,通常这种方式都是使用反斜杠+字母(单词)的特性。
\r\n:回车换行。
PHP转义字符:
\’ :在单引号字符串中显示单引号
\” :在双引号字符串中显示双引号
\$ :在PHP中使用$符号作为变量符号,因此需要特别识别。
\r \n \t
单引号和双引号的区别:
1、单引号字符串中能识别\’,双引号字符串中就不能识别\’。
2、双引号中因为能够识别$符号,所以双引号中可以解析变量,单引号中不可以。
双引号中变量识别的规则:
1)变量本身系统能够与后面的内容区分:应该保证变量的独立性,不要让系统难以区分
2)使用变量专业标识符(区分),给变量加上一组大括号{}。
字符串长度
1)基本函数strlen():得到字符串的长度(字节为单位)
2)多字节字符串的长度问题:包含中文的长度
利用多字节字符串扩展模块:mbstring扩展(mb:Multi Bytes)
首先需要加载PHP的mbstring扩展
可以使用mb扩展带来很多函数
mbstring扩展针对的是一些关于字符统计:strlen()只是针对标准交换码ASCII,mbstring会针对不同的字符集。
如:mb_strlen($str,’utf-8’);
字符串相关函数
1)转换函数;implode()、explode()、str_split()
implode(连接方式,数组):将数组中的元素按照某个规则连接成一个字符串
explode(分割字符,目标字符串):将字符串按照某个格式进行分割,变成数组
str_split(字符串,字符长度):按照指定长度拆分字符串得到数组
2)截取函数:trim()、ltrim()、rtrim()
trim(字符串[,指定字符]):本身默认用来去除两边的空格(中间不行),但是也可以指定要去除的内容,是按照指定的内容循环去除两边有的内容,直到碰到一个不是目标字符串为止
ltrim():去除左边的空格或者其他字符
rtrim():去除右边的空格或者其他字符
3)截取函数:substr()、strstr()
substr(字符串,起始位置从0开始[,长度]):指定位置开始截取字符串,可以截取指定长度(不指定到最后)
strstr(字符串,匹配字符):从指定位置开始截取到最后(可以用来取文件后缀名)
4)大小转化函数:strtolower()、strtoupper()、ucfirst()
strtolower(字符串):全部小写
strtoupper(字符串):全部大写
ucfirst(字符串):首字母大写(首字母为空格则看不出效果)
5)查找函数:strpos()、strrpos()
strpos():判断字符在目标字符串中首次出现的位置
strrpos():判断字符在目标字符串中最后出现的位置
6)替换函数:str_replace()
str_replace(mixed $search , mixed $replace , mixed $subject):将目标字符串中部分字符串进行替换
7)格式化函数:printf()、sprintf()
printf()/sprintf():(输出字符串有占位符,顺序占位内容)格式化输出数据
8)其他:str_repeat()、str_shuffle()
str_repeat((string $input , int $multiplier):重复某个字符串n次
str_shuffle():随机打乱字符串