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 相关文章推荐
杏林同学录(五)
Oct 09 PHP
php中用文本文件做数据库的实现方法
Mar 27 PHP
PHP file_get_contents 函数超时的几种解决方法
Jul 30 PHP
一道求$b相对于$a的相对路径的php代码
Aug 08 PHP
php目录操作函数之获取目录与文件的类型
Dec 29 PHP
PHP面向对象学习笔记之一 基础概念
Oct 06 PHP
PHP中对于浮点型的数据需要用不同的方法解决
Mar 11 PHP
php实现高效获取图片尺寸的方法
Dec 12 PHP
php基于CodeIgniter实现图片上传、剪切功能
May 14 PHP
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
Dec 04 PHP
基于PHP的微信公众号的开发流程详解
Aug 07 PHP
goto语法在PHP中的使用教程
Sep 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 XML备份Mysql数据库
2009/05/27 PHP
PHP循环结构实例讲解
2014/02/10 PHP
学习php中的正则表达式
2014/08/17 PHP
php操作mongoDB实例分析
2014/12/29 PHP
JS中style属性
2006/10/11 Javascript
JQuery设置和去除disabled属性的5种方法总结
2013/05/16 Javascript
Js实现手机发送验证码时按钮延迟操作
2014/06/20 Javascript
node.js中的fs.fsync方法使用说明
2014/12/15 Javascript
JS实现同时搜索百度和必应的方法
2015/01/27 Javascript
jQuery操作表单常用控件方法小结
2015/03/23 Javascript
谷歌showModalDialog()方法不兼容出现对话窗口的解决办法
2016/02/15 Javascript
深入理解javascript中concat方法
2016/12/12 Javascript
详解使用nvm安装node.js
2017/07/18 Javascript
jQuery实现的简单前端搜索功能示例
2017/10/28 jQuery
使用npm安装最新版本nodejs
2018/01/18 NodeJs
对angularJs中ng-style动态改变样式的实例讲解
2018/09/30 Javascript
微信小程序实现同一页面取值的方法分析
2019/04/30 Javascript
JS实现随机点名器
2020/04/12 Javascript
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
Python获取Windows或Linux主机名称通用函数分享
2014/11/22 Python
python使用pil生成缩略图的方法
2015/03/26 Python
Python遍历文件夹和读写文件的实现代码
2016/08/28 Python
Python程序中设置HTTP代理
2016/11/06 Python
基于python实现在excel中读取与生成随机数写入excel中
2018/01/04 Python
python实现音乐下载的统计
2018/06/20 Python
FFrpc python客户端lib使用解析
2019/08/24 Python
python turtle工具绘制四叶草的实例分享
2020/02/14 Python
Node.js 和 Python之间该选择哪个?
2020/08/05 Python
详解python爬取弹幕与数据分析
2020/11/14 Python
纯CSS和jQuery实现的在页面顶部显示的进度条效果2例(仿手机浏览器进度条效果)
2014/04/16 HTML / CSS
用HTML5制作一个简单的桌球游戏的教程
2015/05/12 HTML / CSS
详解Canvas实用库Fabric.js使用手册
2019/01/07 HTML / CSS
阿玛尼化妆品美国官网:Giorgio Armani Beauty
2017/02/02 全球购物
解释一下ruby中的特殊方法与特殊类
2013/02/26 面试题
浅谈MySQL之select优化方案
2021/08/07 MySQL
java代码实现空间切割
2022/01/18 Java/Android