php常用字符函数实例小结


Posted in PHP onDecember 29, 2016

本文实例总结了php常用字符函数。分享给大家供大家参考,具体如下:

1. string substr(string  $string, int $start   [,int    $length])

函数功能:返回字符串string由start和length参数指定的子字符串。

参数:

string:输入字符串。
start:如果start是非负数,返回的字符串将从string的start位置开始,从0开始计算。如,‘abcdef'中,在位置0的为‘a',位置2为‘c ';
如果start是负数,返回字符串将从string结尾处向前数第start个字符开始。
如果string的长度小于或等于start,则返回FALSE。

$rest=substr(" abcdef ",-1);//返回“ f ”
$rest=substr(" abcdef ",-2);// 返回 “ ef ”
$rest=substr(" abcdef ",-3,1); //返回 “ d ”

$length:如果提供了正数的length,返回的字符串从start处开始最多包括length个字符(取决于string的长度)。

如果提供了负数的length,那么string末尾处的许多字符将会漏掉,即为从末尾处不考虑字符(可以理解我截断),如果start不在文本中,那么将返回一个空字符串。

如果提供了值为0,FALSE或NULL的length,那么将返回一个空字符串。

如果没有提供length,返回的字符串将从start的位置一直到字符结束。

$rest=substr("abcdef","0","-1");  //返回 abcde
$rest=substr("abcdef","2","-1");  //返回 cde
$rest=substr("abcdef"," 4","-4"); //返回 NULL
$rest=substr("abcdef","-3","-1"); //返回 de

[ ]中括号代表该参数为可选参数,不设定即为默认参数。(接触php快8个月了,一直奇怪函数的参数为啥要加个中括号,今天终于忍不住百度了下!惭愧!)

2. int preg_match(string  $pattern ,string $subject [, array &$matches  [,  int  $flag=0 [, int $offset=0 ]]])

函数功能:搜索subject与pattern给定的正则表达式的一个匹配。

参数

$pattern:要搜索的模式,字符类型。
$subject:输入字符串。
$matches:如果提供了参数matches,它将被填充为搜索结果,$matches[0]包含完整模式匹配到的文本,$matches[1]将包含第一个捕获子组匹配到文本,以此类推。
$flags :flags可以被设置为以下标记值:

   PREG_OFFSET_CAPTURE

如果传递了这个标记, 对于每一个出现的匹配返回时会附加字符串偏移量(相对于目标字符串的). 注意: 这会改变填充到matches参数的数组, 使其每个元素成为      一 个由 第0个元素是匹配到的字符串, 第1个元素是该匹配字符串 在目标字符串subject中的偏移量.

offset:

通常, 搜索从目标字符串的开始未知开始.可选参数offset用于 指定从目标字符串的某个未知开始搜索(单位是字节).

Note:

使用offset参数不同于向preg_match() 传递按照位置通过substr($subject, $offset)截取目标字符串结果, 因为pattern可以包含断言比如^,$ 或者(?<=x). 比较:

<?php
$subject = "abcdef";
$pattern = '/^def/';
preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE, 3);
print_r($matches);
?>

以上例程会输出:

Array
(
)
<?php
$subject = "abcdef";
$pattern = '/^def/';
preg_match($pattern, substr($subject,3), $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?>

将会产生匹配

Array
(
  [0] => Array
    (
      [0] => def
      [1] => 0
    )
)

3. strpos(string,find,start)

string:必须,规定被搜索的字符串。
find:必须,规定要查找的字符。
start:可选,规定开始搜索的位置,默认从第一个字符开始。

该函数对大小写敏感,如不希望这样可以使用stripos()函数

例:

echo strpos("Hello  world! "," wo ");// 输出 6

4. string dirname(string path)

函数功能:取得路径中的目录名。在 Win32 系统中,用斜线 (/) 或者反斜线 (\) 都可以;但是其它的操作系统的路径都是 (/)。

$path = "/etc/hostname";
$file = dirname($path);

$file 为 "/etc"

5. str_split(string,length)

string 必需。规定要分割的字符串。
length 可选。规定每个数组元素的长度。默认是 1。

<?php
print_r(str_split("Hello"));
?>

运行结果:

Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
)

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

PHP 相关文章推荐
php中文字母数字验证码实现代码
Apr 25 PHP
两种php去除二维数组的重复项方法
Nov 04 PHP
Zend Framework创建自己的动作助手详解
Mar 05 PHP
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
Apr 27 PHP
PHP session 会话处理函数
Jun 06 PHP
php通过两层过滤获取留言内容的方法
Jul 11 PHP
简单PHP会话(session)说明介绍
Aug 21 PHP
php文件类型MIME对照表(比较全)
Oct 07 PHP
php计算给定日期所在周的开始日期和结束日期示例
Feb 06 PHP
微信开发之获取JSAPI TICKET
Jul 07 PHP
阿里云的WindowsServer2016上部署php+apache
Jul 17 PHP
在Laravel 中实现是否关注的示例
Oct 22 PHP
php常用正则函数实例小结
Dec 29 #PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
Dec 29 #PHP
php常用数组函数实例小结
Dec 29 #PHP
php正则修正符用法实例详解
Dec 29 #PHP
PHP登录(ajax提交数据和后台校验)实例分享
Dec 29 #PHP
php preg_match的匹配不同国家语言实例
Dec 29 #PHP
php使用正则表达式获取字符串中的URL
Dec 29 #PHP
You might like
历史证明,懒惰才是推动科学发展技术进步的动力
2021/03/02 无线电
人大复印资料处理程序_补充篇
2006/10/09 PHP
php实现rc4加密算法代码
2012/04/25 PHP
PIGCMS 如何关闭聊天机器人
2015/02/12 PHP
静态页面的值传递(三部曲)
2006/09/25 Javascript
Packer 3.0 JS压缩及混淆工具 下载
2007/05/03 Javascript
IE8 引入跨站数据获取功能说明
2008/07/22 Javascript
jQuery操作select的实例代码
2012/06/14 Javascript
ajax不执行success回调而是执行了error回调
2012/12/10 Javascript
JS 模态对话框和非模态对话框操作技巧汇总
2013/04/15 Javascript
jquery实现盒子下拉效果示例代码
2013/09/12 Javascript
JavaScript中Date.toSource()方法的使用教程
2015/06/12 Javascript
使用JavaScript脚本判断页面是否在微信中被打开
2016/03/06 Javascript
Jquery AJAX POST与GET之间的区别详细介绍
2016/10/17 Javascript
Bootstrap里的文件分别代表什么意思及其引用方法
2017/05/01 Javascript
electron中使用bootstrap的示例代码
2018/11/06 Javascript
js实现下拉框二级联动
2018/12/04 Javascript
JQuery中的常用事件、对象属性与使用方法分析
2019/12/23 jQuery
微信小程序开发中var that =this的用法详解
2020/01/18 Javascript
[02:06]2018完美世界全国高校联赛秋季赛开始报名(附彩蛋)
2018/09/03 DOTA
[52:03]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第三场 1月31日
2021/03/11 DOTA
Python 字典dict使用介绍
2014/11/30 Python
Python list操作用法总结
2015/11/10 Python
简述Python中的进程、线程、协程
2016/03/18 Python
纯python实现机器学习之kNN算法示例
2018/03/01 Python
Python3.5面向对象与继承图文实例详解
2019/04/24 Python
浅谈Python type的使用
2019/11/19 Python
Python实现密码薄文件读写操作
2019/12/16 Python
Windows10+anacond+GPU+pytorch安装详细过程
2020/03/24 Python
python读取excel数据绘制简单曲线图的完整步骤记录
2020/10/30 Python
CSS3实现酷炫的3D旋转透视效果
2019/11/21 HTML / CSS
理肤泉俄罗斯官网:La Roche-Posay俄罗斯
2018/07/24 全球购物
GOLFINO英国官网:高尔夫服装
2020/04/11 全球购物
安全保证书范文
2014/04/29 职场文书
合作意向书怎么写
2019/06/24 职场文书
Vue3.0 手写放大镜效果
2021/07/25 Vue.js