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 相关文章推荐
SSI指令
Nov 25 PHP
php preg_match_all结合str_replace替换内容中所有img
Oct 11 PHP
php中Smarty模板初体验
Aug 08 PHP
PHP 基于文件头的文件类型验证类函数
May 01 PHP
PHP FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)
May 10 PHP
Win7 64位系统下PHP连接Oracle数据库
Aug 20 PHP
PHP中if和or运行效率对比
Dec 12 PHP
php中使用gd库实现远程图片下载实例
May 12 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
Apr 22 PHP
php利用ZipArchive类操作文件的实例
Jan 21 PHP
PHP大文件分割分片上传实现代码
Dec 09 PHP
php修改word的实例方法
Nov 17 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 删除无限级目录与文件代码共享
2008/11/22 PHP
PHP字符串word末字符实现大小写互换的方法
2014/11/10 PHP
PHP进程同步代码实例
2015/02/12 PHP
PHP合并discuz用户脚本的方法
2015/08/04 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
2016/07/01 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
提高 DHTML 页面性能
2006/12/25 Javascript
jQuery+css实现图片滚动效果(附源码)
2013/03/18 Javascript
javascript常用函数归纳整理
2014/10/31 Javascript
前端必备神器 Snap.svg 弹动效果
2014/11/10 Javascript
jQuery中map()方法用法实例
2015/01/06 Javascript
JQuery.validationEngine表单验证插件(推荐)
2016/12/10 Javascript
vue.js移动端tab组件的封装实践实例
2017/06/30 Javascript
VueJS 集成 Medium Editor的示例代码 (自定义编辑器按钮)
2017/08/24 Javascript
解决vue 更改计算属性后select选中值不更改的问题
2018/03/02 Javascript
详解mpvue开发小程序小总结
2018/07/25 Javascript
vue input输入框关键字筛选检索列表数据展示
2020/10/26 Javascript
JavaScript enum枚举类型定义及使用方法
2020/05/15 Javascript
JavaScript 几种循环方式以及模块化的总结
2020/09/03 Javascript
Python实现的石头剪子布代码分享
2014/08/22 Python
详解Python的Django框架中的中间件
2015/07/24 Python
Flask框架Flask-Principal基本用法实例分析
2018/07/23 Python
python实现彩票系统
2020/06/28 Python
django框架之cookie/session的使用示例(小结)
2018/10/15 Python
python3 实现一行输入,空格隔开的示例
2018/11/14 Python
网易有道2017内推编程题 洗牌(python)
2019/06/19 Python
Django Form设置文本框为readonly操作
2020/07/03 Python
scrapy结合selenium解析动态页面的实现
2020/09/28 Python
感恩寄语大全
2014/04/11 职场文书
工作岗位说明书模板
2014/05/09 职场文书
优秀工会工作者事迹材料
2014/06/02 职场文书
远程教育集中轮训基层干部培训班学习心得体会
2016/01/09 职场文书
2016年社区植树节活动总结
2016/03/16 职场文书
Python趣味挑战之给幼儿园弟弟生成1000道算术题
2021/05/28 Python
Redis如何实现验证码发送 以及限制每日发送次数
2022/04/18 Redis
码云(gitee)通过git自动同步到阿里云服务器
2022/12/24 Servers