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代码
Aug 08 PHP
比较好用的PHP防注入漏洞过滤函数代码
Apr 11 PHP
深入理解curl类,可用于模拟get,post和curl下载
Jun 08 PHP
php实现执行某一操作时弹出确认、取消对话框
Dec 30 PHP
PHP中数据库单例模式的实现代码分享
Aug 21 PHP
修改destoon会员公司的伪静态中的com目录的方法
Aug 21 PHP
PHP中字符安全过滤函数使用小结
Feb 25 PHP
php如何获取文件的扩展名
Oct 28 PHP
Yii开启片段缓存的方法
Mar 28 PHP
zen cart实现订单中增加paypal中预留电话的方法
Jul 12 PHP
php集成动态口令认证
Jul 21 PHP
PHP Laravel 上传图片、文件等类封装
Aug 16 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
php安装xdebug/php安装pear/phpunit详解步骤(图)
2013/12/22 PHP
php读取excel文件示例分享(更新修改excel)
2014/02/27 PHP
浅谈php优化需要注意的地方
2014/11/27 PHP
php版微信公众平台接口开发之智能回复开发教程
2016/09/22 PHP
Laravel实现自定义错误输出内容的方法
2016/10/10 PHP
PHP jQuery+Ajax结合写批量删除功能
2017/05/19 PHP
PHP析构函数destruct与垃圾回收机制的讲解
2019/03/22 PHP
php变量与字符串的增删改查操作示例
2020/05/07 PHP
关于js获取radio和select的属性并控制的代码
2011/05/12 Javascript
js内存泄露的几种情况详细探讨
2013/05/31 Javascript
jquery等待效果示例
2014/05/01 Javascript
Javascript 多物体运动的实现
2014/12/24 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
2015/11/09 Javascript
jquery动态切换背景图片的简单实现方法
2016/05/14 Javascript
JavaScript中对JSON对象的基本操作示例
2016/05/21 Javascript
AngularJS  $on、$emit和$broadcast的使用
2016/09/05 Javascript
Bootstrap实现各种进度条样式详解
2017/04/13 Javascript
jQuery回调方法使用示例
2017/06/26 jQuery
JavaScript在控件上添加倒计时功能的实现代码
2017/07/04 Javascript
async/await地狱该如何避免详解
2018/05/10 Javascript
js实现鼠标拖拽缩放div实例代码
2019/03/25 Javascript
vue elementUI 表单校验的实现代码(多层嵌套)
2019/11/06 Javascript
Python求两个list的差集、交集与并集的方法
2014/11/01 Python
python使用PIL缩放网络图片并保存的方法
2015/04/24 Python
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
python使用Matplotlib绘制分段函数
2018/09/25 Python
python多任务及返回值的处理方法
2019/01/22 Python
Python爬取数据保存为Json格式的代码示例
2019/04/09 Python
详解解决Python memory error的问题(四种解决方案)
2019/08/08 Python
在python中利用dict转json按输入顺序输出内容方式
2020/02/27 Python
HTML5之SVG 2D入门4—笔画与填充
2013/01/30 HTML / CSS
实习生的自我鉴定范文欣赏
2013/11/20 职场文书
辩论赛开场白大全(主持人+辩手)
2015/05/29 职场文书
2016年秋季趣味运动会开幕词
2016/03/04 职场文书
2019财务管理制度最新范本!
2019/07/09 职场文书
创业项目大全(适合在家创业的项目)
2019/08/15 职场文书