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 相关文章推荐
phpwind中的数据库操作类
Jan 02 PHP
php带密码功能并下载远程文件保存本地指定目录 修改加强版
May 16 PHP
PHP学习笔记之数组篇
Jun 28 PHP
PHP判断JSON对象是否存在的方法(推荐)
Jul 06 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
May 02 PHP
PHP基于cookie实现统计在线人数功能示例
Jan 16 PHP
laravel实现前后台路由分离的方法
Oct 13 PHP
详解Laravel设置多态关系模型别名的方式
Oct 17 PHP
laravel框架创建授权策略实例分析
Nov 22 PHP
PHP 实现 JSON 数据的编码和解码操作详解
Apr 22 PHP
如何在PHP中读写文件
Sep 07 PHP
php双向队列实例讲解
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
处理单名多值表单的详解
2013/06/08 PHP
PHP采集类Snoopy抓取图片实例
2014/06/19 PHP
php采用curl实现伪造IP来源的方法
2014/11/21 PHP
ioncube_loader_win_5.2.dll的错误解决方法
2015/01/04 PHP
PHP常用技巧汇总
2016/03/04 PHP
yii2 url重写并隐藏index.php方法
2018/12/10 PHP
js实例属性和原型属性示例详解
2014/11/23 Javascript
封装了jQuery的Ajax请求全局配置
2015/02/05 Javascript
IE8下jQuery改变png图片透明度时出现的黑边
2015/08/30 Javascript
JS获取字符串实际长度(包含汉字)的简单方法
2016/08/11 Javascript
关于Bootstrap按钮组件消除黄框的方法
2017/05/19 Javascript
详解如何在vue中使用sass
2017/06/21 Javascript
详解如何提高 webpack 构建 Vue 项目的速度
2017/07/03 Javascript
JavaScript反射与依赖注入实例详解
2018/05/29 Javascript
浅析Vue.js中v-bind v-model的使用和区别
2018/12/04 Javascript
vue项目打包后怎样优雅的解决跨域
2019/05/26 Javascript
vue脚手架项目创建步骤详解
2021/03/02 Vue.js
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
[01:03:22]LGD vs OG 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python实现一个简单的MySQL类
2015/01/07 Python
讲解Python中fileno()方法的使用
2015/05/24 Python
Python的Django框架中forms表单类的使用方法详解
2016/06/21 Python
python base64库给用户名或密码加密的流程
2020/01/02 Python
TensorFlow tf.nn.max_pool实现池化操作方式
2020/01/04 Python
matplotlib 曲线图 和 折线图 plt.plot()实例
2020/04/17 Python
CSS3制作酷炫的三维相册效果
2016/07/01 HTML / CSS
纯css3使用vw和vh实现自适应的方法
2018/02/09 HTML / CSS
德国咖啡批发商:Coffeefair
2019/08/26 全球购物
贝佳斯官方网站:Borghese
2020/05/08 全球购物
Java面试题及答案
2012/09/08 面试题
玲玲的画教学反思
2014/02/04 职场文书
运动会广播稿300字
2015/08/19 职场文书
一道JS算法面试题——冒泡、选择排序
2021/04/21 Javascript
golang协程池模拟实现群发邮件功能
2021/05/02 Golang
Ajax实现异步加载数据
2021/11/17 Javascript
Python实现为PDF去除水印的示例代码
2022/04/03 Python