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 相关文章推荐
thinkphp模板用法和内容输出实例
Nov 28 PHP
php批量添加数据与批量更新数据的实现方法
Dec 16 PHP
PHP 生成N个不重复的随机数
Jan 21 PHP
php中删除数组的第一个元素和最后一个元素的函数
Mar 07 PHP
CodeIgniter删除和设置Cookie的方法
Apr 07 PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
May 17 PHP
php获取文件名称和扩展名的方法
Feb 07 PHP
php+js实现裁剪任意形状图片
Oct 31 PHP
Laravel模糊查询区分大小写的实例
Sep 29 PHP
laravel 创建命令行命令的图文教程
Oct 23 PHP
PHP中类与对象功能、用法实例解读
Mar 27 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的ajax框架xajax入门与试用介绍
2010/12/19 PHP
PHP+MySQL修改记录的方法
2015/01/21 PHP
PHP中对数组的一些常用的增、删、插操作函数总结
2015/11/27 PHP
ThinkPHP中调用PHPExcel的实现代码
2017/04/08 PHP
JavaScript Cookie 直接浏览网站分网址
2009/12/08 Javascript
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
2010/06/25 Javascript
JavaScript.Encode手动解码技巧
2010/07/14 Javascript
(jQuery,mootools,dojo)使用适合自己的编程别名命名
2010/09/14 Javascript
JS刷新当前页面的几种方法总结
2013/12/24 Javascript
对table和ul实现js分页示例分享
2014/02/24 Javascript
window resize和scroll事件的基本优化思路
2014/04/29 Javascript
jQuery实现转动随机数抽奖效果的方法
2015/05/21 Javascript
PageSwitch插件实现100种不同图片切换效果
2015/07/28 Javascript
jquery判断密码强度的验证代码
2020/04/22 Javascript
JavaScript数组去重的两种方法推荐
2016/04/05 Javascript
卸载安装Node.js与npm过程详解
2016/08/15 Javascript
微信公众号 摇一摇周边功能开发
2016/12/08 Javascript
JS实现的添加弹出层并完成锁屏操作示例
2017/04/07 Javascript
zTree获取当前节点的下一级子节点数实例
2017/09/05 Javascript
vue 源码解析之虚拟Dom-render
2019/08/26 Javascript
uni-app实现点赞评论功能
2019/11/25 Javascript
python中使用xlrd、xlwt操作excel表格详解
2015/01/29 Python
Python查找函数f(x)=0根的解决方法
2015/05/07 Python
Python itertools模块详解
2015/05/09 Python
Python实现压缩与解压gzip大文件的方法
2016/09/18 Python
Python学习笔记之Zip和Enumerate用法实例分析
2019/08/14 Python
Python集成开发工具Pycharm的安装和使用详解
2020/03/18 Python
一款纯css3实现的竖形二级导航的实例教程
2014/12/11 HTML / CSS
深圳-东方伟业笔试部分
2015/02/11 面试题
出纳试用期自我鉴定范文
2014/09/16 职场文书
教师个人查摆剖析材料
2014/10/14 职场文书
故意伤害辩护词
2015/05/21 职场文书
《普罗米修斯》教学反思
2016/02/22 职场文书
解析Java中的static关键字
2021/06/14 Java/Android
python中Matplotlib绘制直线的实例代码
2021/07/04 Python
js中Map和Set的用法及区别实例详解
2022/02/15 Javascript