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语法(5)
Oct 09 PHP
dedecms中显示数字验证码的修改方法
Mar 21 PHP
献给php初学者(入门学习经验谈)
Oct 12 PHP
PHP5常用函数列表(分享)
Jun 07 PHP
php中过滤非法字符的具体实现
Oct 29 PHP
PHP图片上传代码
Nov 04 PHP
PHP整数取余返回负数的相关解决方法
May 15 PHP
php实现判断访问来路是否为搜索引擎机器人的方法
Apr 15 PHP
php数组分页实现方法
Apr 30 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
Jul 28 PHP
PHP检查URL包含特定字符串实例方法
Feb 11 PHP
详解PHP神奇又有用的Trait
Mar 25 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 SQL之where语句生成器
2009/03/24 PHP
PHP SESSION机制的理解与实例
2019/03/22 PHP
关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
2010/10/14 Javascript
详谈 Jquery Ajax异步处理Json数据.
2011/09/09 Javascript
javascript 另一种图片滚动切换效果思路
2012/04/20 Javascript
js比较和逻辑运算符的介绍
2013/03/10 Javascript
如何创建一个JavaScript弹出DIV窗口层的效果
2013/09/25 Javascript
JS实现图片放大镜效果的方法
2015/02/27 Javascript
javascript获取select值的方法分析
2015/07/02 Javascript
实现高性能JavaScript之执行与加载
2016/01/30 Javascript
js实现图片360度旋转
2017/01/22 Javascript
Node.JS中事件轮询(Event Loop)的解析
2017/02/25 Javascript
javascript使用btoa和atob来进行Base64转码和解码
2017/03/20 Javascript
php简单数据库操作类的封装
2017/06/08 Javascript
jQuery 表单序列化实例代码
2017/06/11 jQuery
vscode中vue-cli项目es-lint的配置方法
2018/07/30 Javascript
vue中组件的3种使用方式详解
2019/03/23 Javascript
彻底揭秘keep-alive原理(小结)
2019/05/05 Javascript
详解Vue中组件传值的多重实现方式
2019/08/16 Javascript
python通过邮件服务器端口发送邮件的方法
2015/04/30 Python
Python字符串切片操作知识详解
2016/03/28 Python
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
Python实现求数列和的方法示例
2018/01/12 Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
2020/02/14 Python
Macbook安装Python最新版本、GUI开发环境、图像处理、视频处理环境详解
2020/02/17 Python
python 使用递归回溯完美解决八皇后的问题
2020/02/26 Python
Python Socket多线程并发原理及实现
2020/12/11 Python
Html5 postMessage实现跨域消息传递
2016/03/11 HTML / CSS
微软英国官方网站:Microsoft英国
2016/10/15 全球购物
西班牙在线光学:Visual-Click
2020/06/22 全球购物
大专生工程监理求职信
2013/10/04 职场文书
酒店开业庆典主持词
2014/03/21 职场文书
2014年大学教师工作总结
2014/12/02 职场文书
淮阳太昊陵导游词
2015/02/10 职场文书
节约用电通知
2015/04/25 职场文书
win10此电脑打不开怎么办 win10双击此电脑无响应的解决办法
2022/07/23 数码科技