php学习笔记之字符串常见操作总结


Posted in PHP onJuly 16, 2019

本文实例讲述了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
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP配置文件中最常用四个ini函数
Mar 19 PHP
java EJB 加密与解密原理的一个例子
Jan 11 PHP
PHP 批量更新网页内容实现代码
Jan 05 PHP
php抓取页面与代码解析 推荐
Jul 23 PHP
PHP学习笔记 用户注册模块用户类以及验证码类
Sep 20 PHP
PHP实现的连贯操作、链式操作实例
Jul 08 PHP
取得单条网站评论以数组形式进行输出
Jul 28 PHP
php使用ob_start()实现图片存入变量的方法
Nov 14 PHP
PHP速成大法
Jan 30 PHP
PHP常用操作类之通信数据封装类的实现
Jul 16 PHP
RSA实现JS前端加密与PHP后端解密功能示例
Aug 05 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
Oct 08 PHP
thinkPHP+mysql+ajax实现的仿百度一下即时搜索效果详解
Jul 15 #PHP
[原创]PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】
Jul 12 #PHP
php array_chunk()函数用法与注意事项
Jul 12 #PHP
laravel框架中间件 except 和 only 的用法示例
Jul 12 #PHP
Laravel框架实现多数据库连接操作详解
Jul 12 #PHP
php遍历目录下文件并按修改时间排序操作示例
Jul 12 #PHP
微信推送功能实现方式图文详解
Jul 12 #PHP
You might like
PHP 日期时间函数的高级应用技巧
2009/10/10 PHP
PHP5.5和之前的版本empty函数的不同之处
2014/06/13 PHP
Eclipse PHPEclipse 配置的具体步骤
2017/08/08 PHP
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
KnockoutJS 3.X API 第四章之数据控制流component绑定
2016/10/10 Javascript
js使用html2canvas实现屏幕截取的示例代码
2017/08/28 Javascript
vue中axios处理http发送请求的示例(Post和get)
2017/10/13 Javascript
ActiveX控件的使用-js实现打印超市小票功能代码详解
2017/11/22 Javascript
如何获取TypeScript的声明文件.d.ts
2018/05/01 Javascript
深入浅析angular和vue还有jquery的区别
2018/08/13 jQuery
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
2018/08/24 Javascript
vue实现的双向数据绑定操作示例
2018/12/04 Javascript
使用Vue-Awesome-Swiper实现旋转叠加轮播效果&amp;平移轮播效果
2019/08/16 Javascript
浅析vue-router中params和query的区别
2019/12/24 Javascript
vue 使用async写数字动态加载效果案例
2020/07/18 Javascript
JavaScript实现无限轮播效果
2020/11/19 Javascript
[57:12]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第一场 10.31
2020/11/02 DOTA
Python文件去除注释的方法
2015/05/25 Python
Python中特殊函数集锦
2015/07/27 Python
使用python检测主机存活端口及检查存活主机
2015/10/12 Python
浅析Python编写函数装饰器
2016/03/18 Python
Python基于回溯法子集树模板实现8皇后问题
2017/09/01 Python
django 将model转换为字典的方法示例
2018/10/16 Python
python解析含有重复key的json方法
2019/01/22 Python
Python实现的微信红包提醒功能示例
2019/08/22 Python
python如何通过pyqt5实现进度条
2020/01/20 Python
keras使用Sequence类调用大规模数据集进行训练的实现
2020/06/22 Python
python实现图片转换成素描和漫画格式
2020/08/19 Python
python 数据类型强制转换的总结
2021/01/25 Python
自荐信要包含哪些内容
2013/11/06 职场文书
音乐教学随笔感言
2014/02/19 职场文书
优秀语文教师事迹
2014/05/18 职场文书
2014年党务公开工作总结
2014/12/09 职场文书
化验员岗位职责
2015/02/14 职场文书
2016中秋节晚会开场白
2015/11/26 职场文书
2016年大学生暑期社会实践活动总结
2016/04/06 职场文书