(-06-06)
单双引号在转义上的区别
单引号不做复杂的转义只转义\",\\其他原样输出
双引号则转义比较多如\",\\,\r,\n,\t,\$等
单引号定义字符串比双引号快因为不需要做更多的转义和解析
定界符
heredoc写法:
$str=<<<标识符
想输出的文本
标识符;
nowdoc写法:
$str=<<<"标识符"
想输出的文本
标识符;
注意:标识符的名称和变量名一样
标识符一定要独占一行且前面没有任何其他字符
heredoc标识符对文本的处理和双引号一样;nowdoc标识符对文本的处理和单引号一样
1.strlen计算字符串长度函数
$str="hello";
echo strlen($str);
5
mb_strlen计算中文长度
$str2="杰哥威武";
echo mb_strlen($str2,"utf-8");
4
strpos($str,"要找的字符",[偏移量,不填则从第一的开始找])查找字符串首次出现的位置
strrpos($str,"要找的字符")查找字符串中最后一次出现的位置
strstr($str,"要找的字符串",[true]) 查找字符串第一次出现的位置并返回后面的字符串,若填写第三个参数true则返回前面的字符串
strrchr(($str,"要找的字符串")查找字符串最后一次出现的位置并返回后面的字符串
substr_count($str,"要找的字符",[偏移量],[指定偏移位置之后的最大搜索长度,若两和大于总长则报错])计算字串出现的次数
3.str_replace("查找的目标值","替换值",执行替换的数组或者字符串,[$count如果被指定,它的值将被设置为替换发生的次数])替换字符串
可用数组多次替换如:
$str="hello my is today is hello hello my"
$a=array("hello","is");
$b=array("hi","si");
str_replace($a,$b,$str)hi my si today si hi hi my
strtr()替换一批字符串,是以单个字符来替换,常用于全角转半角
$a="男人,女人,男孩,女孩";echo strtr($a,array("男=>女","女=>男"));女人,男人,女孩,男孩
substr($str,截取开始位置,[正数代表长度负数代表停止位置,不填则将后面的截取]):截取字符串,按字符长度截取。
mb_substr($str,截取开始位置,正数代表长度负数代表停止位置,"utf-8")截取字符串,中文无乱码
str_split($arr,字符长度)将字符串按长度截成数组,若最后长度不够则就剩下当一组
explode("分隔符",$arr)根据指定的分割符将字符串拆成数组
implode($arr,"连接符")将数组拼接成字符串
chunk_split($arr,字符长度,[分隔符不加则默认为换行符])将字符串按分割符分割成小块
strrev($str)反转字符串
addslashes($str)转义字符串,常用于转义客户输入的字符串防止单双引号带来破坏
stripslashes($str)反转义字符串
htmlspecialchars(hello my is today is hello hello my)将特殊符号转为html实体
htmlspecialchars_decode(hello my is today is hello hello my)将html实体转为特殊符号
trim — 去除字符串首尾处的空白字符(或者其他字符)
trim ($str,$charlist = "\t\n\r\0\x0B" )此函数返回字符串 str 去除首尾空白字符后的结果。如果不指定第二个参数,trim() 将去除这些字符:
" " (ASCII 32 (0x20)),普通空格符。
"\t" (ASCII 9 (0x09)),制表符。
"\n" (ASCII 10 (0x0A)),换行符。
"\r" (ASCII 13 (0x0D)),回车符。
"\0" (ASCII 0 (0x00)),空字节符。
"\x0B" (ASCII 11 (0x0B)),垂直制表符。
ltrim — 删除字符串开头的空白字符(或其他字符)
ltrim ($str,$charlist = "\t\n\r\0\x0B" )该函数返回一个删除了 str 最左边的空白字符的字符串。 如果不使用第二个参数, ltrim() 仅删除以下字符:
rtrim — 删除字符串末端的空白字符(或者其他字符)
rtrim ($str,$charlist = "\t\n\r\0\x0B" )该函数删除 str 末端的空白字符并返回。 不使用第二个参数,rtrim() 仅删除以下字符:
str_pad — 使用另一个字符串填充字符串为指定长度例如:$input = "Alien";echo str_pad($input, 10); // 输出 "Alien "echo str_pad($input, 10, "-=", STR_PAD_LEFT); // 输出 "-=-=-Alien"echo str_pad($input, 10, "_", STR_PAD_BOTH); // 输出 "__Alien___"echo str_pad($input, 6 , "___"); // 输出 "Alien_"
strtolower — 将字符串转化为小写
例如将字符串a全转换为小写$str = strtolower($a);
strtoupper — 将字符串转化为大写
例如将字符串a全转换为大写$str = strtoupper($a);
ucfirst — 将字符串的首字母转换为大写
例如将字符串a的首字母转换为大写$str = ucfirst($a);
ucwords — 将字符串中每个单词的首字母转换为大写
例如将字符串a中每个单词的首字母转换为大写$str =ucwords($a);
strcmp — 比较两字符串是否相等(区分大小写)相同为0
比较a,b两字符串是否相等(区分大小写)strcmp($a,$b);
strcasecmp — 比较两字符串是否相等(不区分大小写)相同为0
比较a,b两字符串是否相等(不区分大小写)strcasecmp($a,$b);