php学习笔记之字符串常见操作总结
发布:smiling 来源: PHP粉丝网 添加日期:2021-12-04 20:31:46 浏览: 评论:0
这篇文章主要介绍了php学习笔记之字符串常见操作,结合实例形式总结分析了php字符串的定义、单引号与双引号的用法以及常见字符串操作函数使用技巧,需要的朋友可以参考下。
本文实例讲述了php字符串常见操作。分享给大家供大家参考,具体如下:
字符串的定义
可以用单引号或双引号来定义字符串
- <?php
- $str = "hello";
- $str = 'hello';
- ?>
heredoc和nowdoc定义大段字符串
区别:和单引号与双引号定义字符串的区别相同
- <?php
- //heredoc的使用
- $str3 = <<<MARK
- hello
- world!
- ok;$a
- puzhong!
- MARK;
- echo $str3."<br/>";
- //nowdoc的使用
- $str4 = <<<'MARK'
- hello
- world!
- ok;$a
- puzhong!
- MARK;
- echo $str4."<br/>";
- ?>
单引号和双引号的区别
1)转义区别:单引号转义情况:\\、\',其他全部原样输出
双引号转义情况:\,、\”、\n、\r、\t等
2)速度区别:单引号中不能加载变量,而双引号中可以加载变量
速度上,单引号要快于双引号
字符串的常用函数
1)计算字符串的长度
strlen():按照字符串占用的字节数来计算长度
mb_strlen():按照编码来计算字符串的长度
- <?php
- $str = "hello";
- $str2 = "中国123";
- echo strlen($str)."<br/>"; //输出5
- echo strlen($str2)."<br/>";//输出9,utf8字符编码一个汉字占3个字节
- echo mb_strlen($str2,"utf-8")."<br/>";//输出5,按照u8编码,计算字符的长度
- ?>
2)计算子字符串的位置函数
strpos():区分大小写进行查找子串首次的出现的位置
stripos():不分区大小写进行查找子串首次出现的位置
strrpos():区分大小写进行查找子串最后一次的出现的位置
strripos():不区分大小写进行查找子串最后一次的出现的位置
- <?php
- $str = "aAbBcdefgAa";
- $char = "A";
- echo strpos($str, $char)."<br/>";//输出1,区分大小写
- echo stripos($str,$char)."<br/>";//输出0,不区分大小写
- echo strrpos($str,$char)."<br/>";//输出9,区分大小写
- echo strripos($str, $char)."<br/>";输出10,//不区分大小写
- ?>
3)替换字符串函数
str_replace():区分大小写替换字符串中的内容
str_ireplace():不分区大小写替换字符串中的内容
strtr():成批地进行替换(可以使用数组的某种对应关系)
substr_replace():按照字符串的位置和指定的长度来替换字符串中的内容
- <?php
- $str = "hi,Fuck";
- echo str_replace("fuck","f**k",$str)."<br/>";//输出:hi,Fuck,区分大小写,所以没有找到要替换的内容
- echo str_ireplace("fuck", "f**k", $str)."<br/>";//输出:hi,f**k,不区分大小写
- $str = "男人,女人,男孩,女孩";
- echo strtr($str, array("男"=>"女","女"=>"男"));//输出:女人,男人,女孩,男孩
- $str = "hello,webbc,welcome";
- echo substr_replace($str,"webxx",6,5);//输出:hello,webxx,welcome
- ?>
4)截取子字符串函数
substr():按照起始位置和指定长度来截取字符串
- <?php
- $str = "hello,webbc,welcome!";
- echo substr($str,6,5)."<br/>";//输出:webbc
- echo substr($str,6,-1)."<br/>";//输出:webbc,welcome,负数表示结束位置从后往前数
- echo substr($str,-8,-1);//输出:welcome,负数表示起始位置从后往前数
- ?>
5)合并/拆分字符串
explode():将字符串按照某个字符拆分成数组
implode():将数组按照某个字符合并成字符串
- <?php
- $str = "勇士,马刺,雷霆,快船,开拓者,小牛,灰熊,火箭";
- $arr = explode(",",$str);
- var_dump($arr);
- /*
- 输出:array
- 0 => string '勇士' (length=6)
- 1 => string '马刺' (length=6)
- 2 => string '雷霆' (length=6)
- 3 => string '快船' (length=6)
- 4 => string '开拓者' (length=9)
- 5 => string '小牛' (length=6)
- 6 => string '灰熊' (length=6)
- 7 => string '火箭' (length=6)
- */
- echo implode($arr,"-");//输出:勇士-马刺-雷霆-快船-开拓者-小牛-灰熊-火箭
- ?>
6)处理空格
ltrim():删除左导空格
rtrim():删除右导空格
trim():删除左导和右导空格
- <?php
- $str = " hello world ";
- echo ltrim($str)."a"."<br/>";//输出:hello world a
- echo "a".rtrim($str)."<br/>";//输出:a hello world
- echo trim($str)."<br/>";//输出:hello world
- ?>
7)字符串转义函数
addslashes():对特殊字符进行转义
stripslashes():将转义过的字符还原
- <?php
- $str = "Is your ' name O'reilly?";
- $a = addslashes($str);
- echo $a;//输出:Is your \' name O\'reilly?
- echo stripslashes($a);//输出:Is your ' name O'reilly?
8)HTML和字符串的转换
htmlspecialchars():将字符串转换成HTML实体
htmlspecialchars_decode():将HTML实体转换成字符串
- <?php
- $str = "<b>我是加粗 字体</b>";
- echo $str; //输出:我是加粗 字体
- $htmlstr = htmlspecialchars($str);
- echo $htmlstr;//输出:<b>我是加粗 字体</b>
- echo htmlspecialchars_decode($htmlstr);//输出:我是加粗 字体
- ?>
9)检索字符串
strstr():查找字符串的首次出现
substr_count():计算字串出现的次数
- <?php
- $str = 'name@example.com';
- echo strstr($str, '@'); //输出:@example.com
- $str = 'This is a test';
- echo substr_count($str, 'is'); //输出:2
- ?>
10)字符串的转换函数
strtolower():全部转换为小写
strtoupper():全部转换为大写
ucfirst():将字符串的首字母转换为大写
ucwords():将字符串的每个单词的首字母大写
- <?php
- $str = "i haVe a Dream";
- echo strtolower($str)."<br/>";//输出:i have a dream
- echo strtoupper($str)."<br/>";//输出:I HAVE A DREAM
- echo ucfirst($str)."<br/>";//输出:I haVe a Dream
- echo ucwords($str)."<br/>";//输出:I HaVe A Dream
- ?>
Tags: php字符串
相关文章
- ·php 字符串替换为星号或其它字符(手机号,身份证)(2014-01-11)
- ·php字符串首字母转换大小写实例(2014-07-04)
- ·php 判断字符串包含指定字符(2014-08-16)
- ·php 把查询字符串解析到变量中(2014-09-19)
- ·php字符串查找 strstr preg_match(2014-09-19)
- ·最简单的php中字符串匹配算法教程(2015-04-06)
- ·php中字符串匹配KMP算法实现例子(2015-04-09)
- ·php字符串插入另一字符串任意位置(2015-04-11)
- ·PHP字符串转换RMB形式数字(2015-04-13)
- ·php提取字符串里所有URL的例子(2015-12-10)
- ·PHP二进制与字符串之间的相互转换函数(2015-12-10)
- ·php 截取指定2个字符之间的字符串例子(2015-12-10)
- ·php运算符(2015-12-12)
- ·支持中文字符串分割的php解决方案(2015-12-24)
- ·PHP ASCII码与字符串的相互转换的例子(2016-02-16)
- ·关于php中一些字符串总结(2019-07-28)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)