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 相关文章推荐
PHP4之真OO
Oct 09 PHP
PHP 出现乱码和Sessions验证问题的解决方法!
Dec 06 PHP
PHP 数据结构 算法描述 冒泡排序 bubble sort
Jul 10 PHP
解析php php_openssl.dll的作用
Jul 01 PHP
PHP读取txt文本文件并分页显示的方法
Mar 11 PHP
php基于双向循环队列实现历史记录的前进后退等功能
Aug 08 PHP
PHP简单操作MongoDB的方法(安装及增删改查)
May 26 PHP
PHP 配置后台登录以及模板引入
Jan 24 PHP
php实现评论回复删除功能
May 23 PHP
php插件Xajax使用方法详解
Aug 31 PHP
通过PHP设置BugFree获取邮箱通知
Apr 25 PHP
php写app用的框架整理
Sep 29 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
简单示例AJAX结合PHP代码实现登录效果代码
2008/07/25 PHP
php5 apache 2.2 webservice 创建与配置(java)
2011/01/27 PHP
php 注释规范
2012/03/29 PHP
Fedora下安装php Redis扩展笔记
2014/09/03 PHP
php中return的用法实例分析
2015/02/28 PHP
Nigma vs Alliance BO5 第二场2.14
2021/03/10 DOTA
javascript XML数据显示为HTML一例
2008/12/23 Javascript
JavaScript中的console.group()函数详细介绍
2014/12/29 Javascript
使用CoffeeScrip优美方式编写javascript代码
2015/10/28 Javascript
再谈JavaScript异步编程
2016/01/27 Javascript
JavaScript实现点击单元格改变背景色的方法
2016/02/12 Javascript
深入理解逻辑表达式的用法 与或非的用法
2016/06/06 Javascript
深入理解Angularjs向指令传递数据双向绑定机制
2016/12/31 Javascript
原生JS实现DOM加载完成马上执行JS代码的方法
2018/09/07 Javascript
使用vue打包进行云服务器上传的问题
2020/03/02 Javascript
js Math数学简单使用操作示例
2020/03/13 Javascript
详解在Vue.js编写更好的v-for循环的6种技巧
2020/04/14 Javascript
JQuery省市联动效果实现过程详解
2020/05/08 jQuery
使用python批量修改文件名的方法(视频合并时)
2020/03/24 Python
python实现输出一个序列的所有子序列示例
2019/11/18 Python
python实现图片二值化及灰度处理方式
2019/12/07 Python
Pytorch高阶OP操作where,gather原理
2020/04/30 Python
python 实现性别识别
2020/11/21 Python
H&M旗下高端女装品牌:& Other Stories
2018/05/07 全球购物
char型变量中能不能存贮一个中文汉字
2015/07/08 面试题
几道Java和数据库的面试题
2013/05/30 面试题
加拿大探亲邀请信
2014/01/28 职场文书
吸烟检讨书2000字
2014/02/13 职场文书
高中毕业生的个人自我评价
2014/02/21 职场文书
剪彩仪式主持词
2014/03/19 职场文书
教师演讲稿大全
2014/05/16 职场文书
父亲节活动总结
2015/02/12 职场文书
2015年幼儿园保育工作总结
2015/05/12 职场文书
小学作文之描写天气
2019/08/15 职场文书
anaconda python3.8安装后降级
2021/06/11 Python
使用pandas生成/读取csv文件的方法实例
2021/07/09 Python