php字符串教程学习(php学习笔记之字符串常见操作总结)
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 ?> |
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://blog.csdn.net/baochao95/article/details/51878148
- php可以一次下载几个文件(php实现大文件断点续传下载实例代码)
- phpstudy不解析php代码(phpstudy伪静态设置的问题)
- php语言程序设计基础面向对象(PHP面向对象程序设计之对象的遍历操作示例)
- dedecms的dedesql.class.php on line 489错误的解决方法(dedecms的dedesql.class.php on line 489错误的解决方法)
- php逐行读写文件(PHP实现读取文件夹及批量重命名文件操作示例)
- php 精度误差调整(php精度计算的问题解析)
- mac版本php环境搭建(在Mac OS X中配置Apache+PHP+MySQL运行环境的详细步骤)
- php经典算法大全(php菜单/评论数据递归分级算法的实现方法)
- php7优化技巧(php7性能提升的原因详解)
- php 策略模式工厂模式区别(PHP设计模式之策略模式原理与用法实例分析)
- docker部署php本地开发环境(CentOS7环境下使用Docker搭建PHP运行环境的过程详解)
- php目录函数创建教程(PHP下载文件函数与用法示例)
- php中三种变量的作用区域(PHP global全局变量经典应用与注意事项分析附$GLOBALS用法对比)
- php生命周期表(PHP中md5函数的用法讲解)
- php微信公众号管理后台(php实现微信公众号创建自定义菜单功能的实例代码)
- php符串使用教程学习(PHP实现支持CURL字符串证书传输的方法)
- 重温《蜗居》 宋思明选中海藻为红颜知己,纯属巧合,与爱无关(宋思明选中海藻为红颜知己)
- 越南旅游攻略(越南旅游攻略自由行)
- 成都旅游攻略(成都旅游攻略自由行最佳线路)
- 给儿童吃什么最好(给儿童吃什么最好消化)
- 杭州旅游攻略()
- 云南旅游攻略(云南旅游攻略5天攻略)
热门推荐
- connectionStrings数据库连接字符串的介绍
- jquery获取outerhtml
- 微信小程序function怎么使用(微信小程序在{{ }}中直接使用函数的方法示例)
- dedecms权限调整(增加dedecms后台留言管理功能)
- div中设置图片的大小(div或img图片高度随宽度自适应的方法)
- 图解python轻松快速掌握(10招!看骨灰级Pythoner玩转Python的方法)
- 如何使用html5的canvas图(html5 canvas实现给图片添加平铺水印)
- php逐行读写文件(PHP实现读取文件夹及批量重命名文件操作示例)
- python接口管理系统(基于Python实现用户管理系统)
- asp.net中Session的操作
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9