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的分页功能
Mar 21 PHP
php session 预定义数组
Mar 16 PHP
ezSQL PHP数据库操作类库
May 16 PHP
php 传值赋值与引用赋值的区别
Dec 29 PHP
PHP开发不能违背的安全规则 过滤用户输入
May 01 PHP
php中将网址转换为超链接的函数
Sep 02 PHP
Windows下的PHP安装文件线程安全和非线程安全的区别
Apr 23 PHP
利用“多说”制作留言板、评论系统
Jul 14 PHP
Yii2.0高级框架数据库增删改查的一些操作
Nov 16 PHP
详解php命令注入攻击
Apr 06 PHP
laravel 事件/监听器实例代码
Apr 12 PHP
one.php 多项目、函数库、类库 统一为一个版本的方法
Aug 24 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使之能同时支持GIF和JPEG
2006/10/09 PHP
PHP字符串的编码问题的详细介绍
2013/04/27 PHP
php获取服务器端mac和客户端mac的地址支持WIN/LINUX
2014/05/15 PHP
php实现的SESSION类
2014/12/02 PHP
PHP实现HTTP断点续传的方法
2015/06/17 PHP
Prototype 工具函数 学习
2009/07/23 Javascript
根据选择不同的下拉值出现相对应的文本输入框
2013/08/01 Javascript
自己写的Javascript计算时间差函数
2013/10/28 Javascript
JavaScript判断图片是否已经加载完毕的方法汇总
2016/02/05 Javascript
jQuery代码实现对话框右上角菜单带关闭×
2016/05/03 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
2017/01/05 Javascript
详解使用vue实现tab 切换操作
2017/07/03 Javascript
JS实现对json对象排序并删除id相同项功能示例
2018/04/18 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
2018/08/06 Javascript
JavaScript引用类型Object常见用法实例分析
2018/08/08 Javascript
JS函数动态传递参数的方法分析【基于arguments对象】
2019/06/05 Javascript
javascript实现贪吃蛇游戏(娱乐版)
2020/08/17 Javascript
vue实现移动端触屏拖拽功能
2020/08/21 Javascript
[05:07]DOTA2英雄梦之声_第14期_暗影恶魔
2014/06/20 DOTA
python的即时标记项目练习笔记
2014/09/18 Python
Python 逐行分割大txt文件的方法
2017/10/10 Python
浅谈使用Python内置函数getattr实现分发模式
2018/01/22 Python
学习python需要有编程基础吗
2020/06/02 Python
基于matplotlib中ion()和ioff()的使用详解
2020/06/16 Python
pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
2020/06/24 Python
python文件路径操作方法总结
2020/12/21 Python
css3一款3D字体带阴影效果的实现步骤
2013/03/20 HTML / CSS
公司薪酬管理制度
2014/01/31 职场文书
诉前财产保全担保书
2014/05/20 职场文书
县政府办公室领导班子对照检查材料思想汇报
2014/09/28 职场文书
党组织领导班子整改方案
2014/10/25 职场文书
上课迟到检讨书范文
2015/05/06 职场文书
教育读书笔记
2015/07/02 职场文书
浅谈pytorch中stack和cat的及to_tensor的坑
2021/05/20 Python
JavaScript函数柯里化
2021/11/07 Javascript
MySQL中LAG()函数和LEAD()函数的使用
2022/08/14 MySQL