php 字符串
字符串
查找 strpos()
截取 substr()
分割 str_split() 返回数组,可以指定长度
Srint 字符串
单引号
单引号内特殊字符和变量不会被解析
<?php
$a = 'Hello';
echo '$a \n World';//$a \n World
双引号
双引号内的特殊字符和变量会被解析。
```php
<?php
$a = 'Hello';
/**
* Hello
* World
*/
echo "$a \n World";
Heredoc
Heredoc 类似与双引号,内部转义字符和变量可以被解析,句法结构为
<<<EOT
字符串
EOT;
其中 EOT 为标识符,可以自定义,但是首尾标识符必须相同。开始标识符 EOT 后需换行,结束标识符 EOT 必须独占一行,且前面不许有空格。
$a ='Hello' ;
echo <<<EOT
$a Hello
EOT;
Nowdoc
Nowdoc 类似于单引号,无法解析转移字符和变量。句法结构类似 Heredoc,但是需要在开始标识符加上单引号。
<?php
$a ='Hello' ;
echo <<<'EOD'//和 Heredoc 不同点
$a Hello
EOD;
$str = 'mysteriousKiller';
echo strpos($str,'ll').'<br/>';
$str1 = substr($str,2);
echo $str1.'<br/>';
$re = str_split($str);
print_r($re);
// 空格作为分割点
$rel = explode(' ',$str);
print_r($rel);
// 拼接
$s = "$str.java";
echo $s;
--------------------------------------
字符串转义
转义的含义:在计算机通用协议中,有一些特定的方四定义的字母,系统会特定处理:通常这种方式都是使用反斜杠+字母(单词)的特性:\r\n 回车换行
php 在识别转义字符的时候也是使用同样的模式:反斜杠+字母
在php中系统常用的转义符号:
\' 在单引号字符串中显示单引号
\" 在双引号字符串中显示双引号
\r 代表回车
\n 代表新一行
\t 类似 tab 键
\$ 在php中使用$ 符号作为变量符号,因此需要特定识别
单引号额双引号的区别:双引号中可以解析变量但一定要用大括号{}包裹变量,解析转义字符;单引号不可以解析变量,有些转义字符也不解析
结构化定义字符串变量的规则:
边界条件:
上边界后不能跟任何内容
下边界符必须顶格:最左边,且不能跟任何内容
结构化定义字符串的内部的所有内容都是字符串本身
------------------------------------
字符串长度
基本函数 strlen() :得到字符串的长度
多字节字符串扩展模块: mdstring 扩展
首先需要加载php 的 mbstring 扩展
mbstring 扩展针对的是一些关于字符统计:strlen只是针对标准交换码 ASCII mbstring 会针对不同的字符集: utf-8
$str1 = 'mysteriouskiller'; $str2 = '与子同袍'; echo strlen(str1),'<br/>',$strlen($str2); echo '<hr/>'; // 使用mbstring 扩展 echo mb_strlen($str1),'<br/>',mb_strlen($str2),'<br/>',mb_strlen($str2,'utf-8');
字符串相关函数
转换函数:
implode(连接方式,数组),将数组中的元素按照某个规则连接成一个字符串
explode(分割字符,目标字符串),将字符串按照某个格式进行分割,变成数组
str_split(字符串,字符长度),按照指定长度拆分字符串得到数组
截取函数:
erim(字符串[,指定字符]),本身默认是用来去除两边的空格(中间不行),但是可以指定要去除的内容,是按照指定的内容循环去除两边有的内容:直到碰到一个不是目标字符为止
ltrim(),去除左边的
rtrim(),去除右边的
截取函数:
substr(字符串,起始位置从0开始[,长度]),指定位置开始截取字符串,可以截取指定长度(不指定到最后)
strstr(字符串,匹配字符),从指定位置开始截取到最后
$str = 'mysteriouskiller'; echo substr($str,1,6),'<br/>'; echo strstr($str,''k);
大小转换函数:
strtolower(),全部小写
strtoupper(),全部大写
ycfirst(),首字母大写
查找函数:
strpos(),判断字符在目标字符串中的位置
strrpos(),判断字符在目标字符串中最后出现的位置
替换函数:
str_replace(匹配目标,替换的内容,字符串本身),将目标字符串中部分字符串进行替换
$str = 'mima12306aa'; echo str_replace('a','b',$str);
格式化函数:
printf(),sprintf(输出字符串有占位符,顺序占位内容),格式化输出数据
$age = 8; $name = '小贤'; echo sprintf("好男人就是我,我就是%s",$name); echo sprintf("我是胡一菲,年级%d了",$age);
其他:
str_repeat(),重复某一个字符串N次
str_shuffle(),随机打乱字符串