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中进行身份认证
Oct 09 PHP
php xml文件操作实现代码(二)
Mar 20 PHP
PHP memcache扩展的三种安装方法
Apr 26 PHP
使用PHP提取视频网站页面中的FLASH地址的代码
Apr 17 PHP
PHP 日志缩略名的创建函数代码
May 26 PHP
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
Apr 14 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
Aug 17 PHP
Yii2超好用的日期和时间组件(值得收藏)
May 05 PHP
利用PHP生成静态html页面的原理
Sep 30 PHP
phpstorm 配置xdebug的示例代码
Mar 31 PHP
使用composer命令加载vendor中的第三方类库 的方法
Jul 09 PHP
laravel5.6 框架操作数据 Eloquent ORM用法示例
Jan 26 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设计模式之单例模式使用示例
2014/01/20 PHP
php sybase_fetch_array使用方法
2014/04/15 PHP
PHP中调用C/C++制作的动态链接库的教程
2016/03/10 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
javascript数组的扩展实现代码集合
2008/06/01 Javascript
ie和firefox不兼容的解决方法集合
2009/04/28 Javascript
window.ActiveXObject使用说明
2010/11/08 Javascript
基于JQuery实现CheckBox全选全不选
2011/06/27 Javascript
javascript实现日历控件(年月日关闭按钮)
2012/12/12 Javascript
jQuery实现页面滚动时层智能浮动定位实例探讨
2013/03/29 Javascript
鼠标拖动实现DIV排序示例代码
2013/10/14 Javascript
JavaScript中的原型链prototype介绍
2014/12/30 Javascript
js实现缓冲运动效果的方法
2015/04/10 Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
2016/09/04 Javascript
Javascript blur与click冲突解决办法
2017/01/09 Javascript
jQuery实现的监听导航滚动置顶状态功能示例
2018/07/23 jQuery
Vue 中使用 typescript的方法详解
2020/02/17 Javascript
vue keep-alive的简单总结
2021/01/25 Vue.js
python抓取京东商城手机列表url实例代码
2013/12/18 Python
简单介绍Python中的round()方法
2015/05/15 Python
Python简单实现安全开关文件的两种方式
2016/09/19 Python
python3实现全角和半角字符转换的方法示例
2017/09/21 Python
python3 requests库文件上传与下载实现详解
2019/08/22 Python
django 外键创建注意事项说明
2020/05/20 Python
深入浅析python 中的self和cls的区别
2020/06/20 Python
搭建pypi私有仓库实现过程详解
2020/11/25 Python
Django与AJAX实现网页动态数据显示的示例代码
2021/02/24 Python
Omio意大利:全欧洲低价大巴、火车和航班搜索和比价
2017/12/02 全球购物
.TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)
2016/05/09 面试题
进程的查看和调度分别使用什么命令
2015/03/25 面试题
预备党员承诺书
2014/03/25 职场文书
《第一朵杏花》教学反思
2014/04/16 职场文书
初中毕业生自我评价
2015/03/02 职场文书
感恩老师主题班会
2015/08/12 职场文书
SQL Server代理:理解SQL代理错误日志处理方法
2021/06/30 SQL Server
MySQL数据库如何查看表占用空间大小
2022/06/10 MySQL