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 七大优势分析
Jun 23 PHP
php将fileterms函数返回的结果变成可读的形式
Apr 21 PHP
php获取远程图片的两种 CURL方式和sockets方式获取远程图片
Nov 07 PHP
php中{}大括号是什么意思
Dec 01 PHP
php合并数组中相同元素的方法
Nov 13 PHP
php替换字符串中间字符为省略号的方法
May 04 PHP
PHP 实现的将图片转换为TXT
Oct 21 PHP
PHP中使用foreach()遍历二维数组的简单实例
Jun 13 PHP
微信利用PHP创建自定义菜单的方法
Aug 01 PHP
php查询及多条件查询
Feb 26 PHP
PHP基于SPL实现的迭代器模式示例
Apr 22 PHP
PHP时间处理类操作示例
Sep 05 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
新52大事件
2020/03/03 欧美动漫
oracle资料库函式库
2006/10/09 PHP
php中一个完整表单处理实现代码
2011/11/10 PHP
php实现修改新闻时删除图片的方法
2015/05/12 PHP
php读取qqwry.dat ip地址定位文件的类实例代码
2016/11/15 PHP
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
使用JS CSS去除IE链接虚线框的三种方法
2013/11/14 Javascript
window.onload追加函数使用示例
2014/03/03 Javascript
一个判断抢购时间是否到达的简单的js函数
2014/06/23 Javascript
JavaScript实现的石头剪刀布游戏源码分享
2014/08/22 Javascript
node.js中使用q.js实现api的promise化
2014/09/17 Javascript
jquery.uploadify插件在chrome浏览器频繁崩溃解决方法
2015/03/01 Javascript
JS实现弹出浮动窗口(支持鼠标拖动和关闭)实例详解
2015/08/06 Javascript
AngularJS 实现按需异步加载实例代码
2015/10/18 Javascript
javascript中tostring()和valueof()的用法及两者的区别
2015/11/16 Javascript
怎么限制input的text里输入的值只能是数字(正则、js)
2016/05/16 Javascript
从零开始学习Node.js系列教程三:图片上传和显示方法示例
2017/04/13 Javascript
VUE元素的隐藏和显示(v-show指令)
2017/06/23 Javascript
jQuery实现IE输入框完成placeholder标签功能的方法
2017/09/20 jQuery
js 索引下标之li集合绑定点击事件
2018/01/12 Javascript
Vue之Mixins(混入)的使用方法
2019/09/24 Javascript
Nuxt 项目性能优化调研分析
2020/11/07 Javascript
[16:56]heroes英雄教学 司夜刺客
2014/09/18 DOTA
Python中使用urllib2防止302跳转的代码例子
2014/07/07 Python
Python中的作用域规则详解
2015/01/30 Python
Python面向对象之继承代码详解
2018/01/29 Python
使用Python搭建虚拟环境的配置方法
2018/02/28 Python
利用Python批量提取Win10锁屏壁纸实战教程
2018/03/27 Python
Python 3.6 读取并操作文件内容的实例
2018/04/23 Python
微软瑞士官方网站:Microsoft瑞士
2018/04/20 全球购物
后勤园长自我鉴定
2013/10/17 职场文书
酒店管理自荐信
2013/10/23 职场文书
运动会领导邀请函
2014/02/05 职场文书
大学团日活动新闻稿
2014/09/10 职场文书
python图片灰度化处理的几种方法
2021/06/23 Python
virtualenv隔离Python环境的问题解析
2022/06/21 Python