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 相关文章推荐
使用Apache的rewrite技术
Jun 22 PHP
IIS下配置Php+Mysql+zend的图文教程
Dec 08 PHP
PHP脚本中include文件出错解决方法
Nov 20 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
Aug 07 PHP
php实现httpclient类示例
Apr 08 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十三)
Jun 26 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
Dec 17 PHP
支持png透明图片的php生成缩略图类分享
Feb 08 PHP
Netbeans 8.2将支持PHP7 更精彩
Jun 13 PHP
PHP抽象类和接口用法实例详解
Jul 20 PHP
laravel5.2表单验证,并显示错误信息的实例
Sep 29 PHP
PHP 命名空间和自动加载原理与用法实例分析
Apr 29 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
dedecms防止FCK乱格式化你的代码的修改方法
2007/03/17 PHP
phpMyAdmin链接MySql错误 个人解决方案
2009/12/28 PHP
PHP输出数组中重名的元素的几种处理方法
2012/09/05 PHP
执行iframe中的javascript方法
2008/10/07 Javascript
jquery 实现的全选和反选
2009/04/15 Javascript
JS小功能(操作Table--动态添加删除表格及数据)实现代码
2013/11/28 Javascript
JS实现可缩放、拖动、关闭和最小化的浮动窗口完整实例
2015/03/04 Javascript
jQuery中toggle()函数的使用实例
2015/04/17 Javascript
jQuery鼠标移动图片上实现放大效果
2017/06/25 jQuery
elementUI Tree 树形控件的官方使用文档
2019/04/25 Javascript
js/jQuery实现全选效果
2019/06/17 jQuery
Layui 解决表格异步调用后台分页的问题
2019/10/26 Javascript
JS实现商品橱窗特效
2020/01/09 Javascript
[01:51]2014DOTA2国际邀请赛 这个赛场没有失败者VGTi5再见
2014/07/23 DOTA
Python os模块学习笔记
2015/06/21 Python
python文件的md5加密方法
2016/04/06 Python
Python实现简易Web爬虫详解
2018/01/03 Python
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
numpy 进行数组拼接,分别在行和列上合并的实例
2018/05/08 Python
pip安装py_zipkin时提示的SSL问题对应
2018/12/29 Python
django实现用户注册实例讲解
2019/10/30 Python
tensorflow 重置/清除计算图的实现
2020/01/19 Python
基于python 等频分箱qcut问题的解决
2020/03/03 Python
Python搭建Keras CNN模型破解网站验证码的实现
2020/04/07 Python
python 实现图像快速替换某种颜色
2020/06/04 Python
python如何修改文件时间属性
2021/02/05 Python
伊芙丽官方旗舰店:中国淑女一线品牌
2017/12/01 全球购物
Myprotein法国官网:欧洲第一运动营养品牌
2019/03/26 全球购物
C#如何允许一个类被继承但是避免这个类的方法被重载?
2015/02/24 面试题
致跳远、跳高运动员广播稿
2014/01/09 职场文书
《守株待兔》教学反思
2014/03/01 职场文书
法人授权委托书
2014/04/03 职场文书
开学第一周值周总结
2015/07/16 职场文书
穷人该怎么创业?谨记以下几点
2019/07/11 职场文书
如何解决.cuda()加载用时很长的问题
2021/05/24 Python
Java实现二维数组和稀疏数组之间的转换
2021/06/27 Java/Android