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 相关文章推荐
搜索引擎技术核心揭密
Oct 09 PHP
笑谈配置,使用Smarty技术
Jan 04 PHP
使用zend studio for eclipse不能激活代码提示功能的解决办法
Oct 11 PHP
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
Jan 27 PHP
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
Dec 05 PHP
PHP安全上传图片的方法
Mar 21 PHP
PHP实现的浏览器检查类
Apr 11 PHP
php投票系统之增加与删除投票(管理员篇)
Jul 01 PHP
PHP从二维数组得到N层分类树的实现代码
Oct 11 PHP
Yii 2中的load()和save()示例详解
Aug 03 PHP
Laravel用户授权系统的使用方法示例
Sep 16 PHP
PHP实现文件上传后台处理脚本
Mar 04 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
Yii rules常用规则示例
2016/03/15 PHP
PHP支付系统设计与典型案例分享
2016/08/02 PHP
[原创]PHP实现SQL语句格式化功能的方法
2017/07/28 PHP
PHP中数组转换为SimpleXML教程
2019/01/27 PHP
PHP __call()方法实现委托示例
2019/05/20 PHP
jquery 页面全选框实践代码
2010/04/02 Javascript
DLL+ ActiveX控件+WEB页面调用例子
2010/08/07 Javascript
基于jquery的jqDnR拖拽溢出的修改
2011/02/12 Javascript
JavaScript 反科里化 this [译]
2012/09/20 Javascript
JavaScript之Getters和Setters 平台支持等详细介绍
2012/12/07 Javascript
点击表单提交时出现jQuery没有权限的解决方法
2014/07/23 Javascript
JavaScript中使用arguments获得函数传参个数实例
2014/08/27 Javascript
jQuery事件用法详解
2016/10/06 Javascript
js获取元素下的第一级子元素的方法(推荐)
2017/03/05 Javascript
浅谈jQuery框架Ajax常用选项
2017/07/08 jQuery
浅谈angular2路由预加载策略
2017/10/04 Javascript
使用JavaScript解析URL的方法示例
2019/03/01 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
2019/05/09 Javascript
layer.confirm点击第一个按钮关闭弹出框的方法
2019/09/09 Javascript
JavaScript实现跟随鼠标移动的盒子
2021/01/28 Javascript
ES6的循环与可迭代对象示例详解
2021/01/31 Javascript
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
python中cPickle用法例子分享
2014/01/03 Python
Python中的CURL PycURL使用例子
2014/06/01 Python
Python面向对象编程基础解析(一)
2017/10/26 Python
在Python程序员面试中被问的最多的10道题
2017/12/05 Python
代码分析Python地图坐标转换
2018/02/08 Python
python-opencv 将连续图片写成视频格式的方法
2019/01/08 Python
python GUI库图形界面开发之PyQt5下拉列表框控件QComboBox详细使用方法与实例
2020/02/27 Python
HTML5使用Audio标签实现歌词同步的效果
2016/03/17 HTML / CSS
食品采购员岗位职责
2014/04/14 职场文书
党员学习群众路线教育实践活动对照检查材料
2014/09/23 职场文书
物业公司管理制度
2015/08/05 职场文书
《敬重卑微》读后感3篇
2019/11/26 职场文书
利用Python网络爬虫爬取各大音乐评论的代码
2021/04/13 Python
Python 视频画质增强
2022/04/28 Python