PHP笔记5--字符串操作

文章目录

  • 字符串定义语法
  • 字符串转义
  • 单引号和双引号的区别:
  • 字符串长度问题
  • 字符串相关函数:

字符串定义语法

1)单引号字符串:使用单引号包裹
2)双引号字符串:使用双引号包裹
3)nowdoc字符串:没有单引号的单引号字符串
$str = <<<’边界符’
字符串内容
边界符;
4)heredoc字符串:没有双引号的双引号字符串
$str = <<<边界符
字符串内容
边界符;

引号方式:比较适合定义那些比较短(不超过一行)或者没有结构(缩进等)要求的字符串,如果有结构要求,或者内容超过一行,可以使用nowdoc和heredoc字符串定义

$a = '123';
$b = "123";
//heredoc
$c = <<<EOD
asdfasdfasdfadfasdfasf
asdf得到
EOD;
//nowdoc
$d = <<<'EOD'
asdfasdfasdfadfasdfasf
asdf得到222
EOD;
echo $c.'
'
.$d

结构化定义字符串变量的规则
1、 结构化定义字符串对应的边界符有条件:
1)上边界符后面不能跟任何内容(包括空格);
2)下边界符必须顶格:最左边;
3)边界同样后面只能跟分号,不能跟任何内容;
2、 结构化定义字符串的内部(边界符之间)的所有内容都是字符串本身

字符串转义

转义的含义:在计算机通用协议中,有一些特定的方式定义的字母,系统会特定处理:通常这种方式都是使用反斜杠+字母(单词)的特性:

\r\n:回车换行
PHP在识别转义字符的时候也是使用同样的模式:反斜杠+字母
在PHP中系统常用的转义符号:
\’:在单引号字符串中显示单引号
\”:在双引号字符串中显示双引号
\r:代表回车(理论上是回到当前行的首位置)
\n:代表新一行
\t:类似tab键,输出4个空格
\$:在PHP中使用$符号作为变量符号,因此需要特定识别

单引号和双引号的区别:

1、其中单引号中能够识别\’,而双引号中就不能识别\’(下图浏览器查看的是页面源代码)
2、双引号中因为能够识别$符号,所以双引号中可以解析变量,而单引号不可以
双引号中变量识别的规则:
1)变量本身系统能够与后面的内容区分:应该保证变量的独立性,不要让系统难以区分
2)使用变量专业标识符(区分),给变量加上一组大括号{}

$a = '变量a';
echo $a.'
'
; //变量a $b = 'bbb $a'; echo $b.'
'
;//bbb $a $c = "a123123$a"; echo $c.'
'
;//a123123变量a $d = "dddd$a ddd"; echo $d.'
'
;//dddd变量a ddd $e = "dddd $a ddd"; echo $e.'
'
;//dddd 变量a ddd $f = "dddd{$a}ddd"; echo $f.'
'
;// dddd变量addd

字符串长度问题

1)基本函数strlen():得到字符串的长度(字节为单位)
2)多字节字符串的长度问题:包含中文的长度。
让一个中文的长度为1而不是3
3)多字节字符串扩展模块:mbstring扩展(mb:Multi Bytes)
首先需要加载PHP的mbstring扩展 可以使用mb扩展带来很多函数
mbstring扩展针对的是一些关于字符统计:
strlen只是针对标准交换码ASCII
mbstring会针对不同的字符集 (php7默认字符集为utf-8)

$a = '张三';
$b = '123';
echo strlen($a),'
'
,strlen($b); // 4 3 echo '
'
; echo mb_strlen($a),'
'
,mb_strlen($b),'
'
,mb_strlen($a,'utf-8'); // 4 3 2

字符串相关函数:

1)转换函数:implode(), explode(), str_split()
implode(连接方式,数组):将数组中的元素按照某个规则连接成一个字符串
explode(分割字符,目标字符串):将字符串按照某个格式进行分割,变成数组
中国|北京|顺义 == array(‘中国’,‘北京’,’顺义’);
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(匹配目标,替换的内容,字符串本身):将目标字符串中部分字符串进行替换

7)格式化函数:printf(), sprintf()
srintf/sprintf(输出字符串有占位符,顺序占位内容…):格式化输出数据

8)其他:str_repeat(), str_shuffle()
str_repeat():重复某个字符串N次
str_shuffle():随机打乱字符串

$a = ' abc cde sdd ';
echo explode($a,' ');
echo '
'
; echo str_split($a,3); echo '
'
; var_dump(trim($a));//string(11) "abc cde sdd" echo '
'
; echo substr($a,3,3);//c c echo '
'
; echo strtoupper($a);//ABC CDE SDD echo '
'
; echo strpos($a,'d');//6 echo '
'
; echo str_replace('a','1',$a);//1bc cde sdd echo '
'
; echo str_repeat('1',5);//11111 echo '
'
; echo str_shuffle($a);//s d e cba ddc

你可能感兴趣的:(PHP,PHP,字符串长度,字符串定义,字符串函数)