分享

php字符串相关函数

 yyj的编程之路 2016-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);

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多