区别

stripos():查找字符串首次出现的位置(不区分大小写)

写法:stripos ( string $haystack , string $needle [, int $offset = 0 ] )

haystack:在该字符串中查找。

needle:注意 needle 可以是一个单字符或者多字符的字符串。如果 needle 不是一个字符串,那么它将被转换为整型并被视为字符顺序值。

offset:可选的 offset 参数,从字符此数量的开始位置进行搜索。 如果是负数,就从字符末尾此数量的字符数开始统计。

stripos()用法示例:

<?php
$findme = ‘a’;
$mystring1 = ‘xyz’;
$mystring2 = ‘ABC’;

$pos1 = stripos($mystring1, $findme);
$pos2 = stripos($mystring2, $findme);

// ‘a’ 当然不在 ‘xyz’ 中
if ($pos1 === false) {
echo “‘$mystring1’中找不到字符串’$findme'”;
}

// 注意这里使用的是 ===。简单的 == 不能像我们期望的那样工作,
// 因为 ‘a’ 的位置是 0(第一个字符)。
if ($pos2 !== false) {
echo “我们发现’$findme’ 在’$mystring2’的第’$pos2’位”;
}
?>

结果:’xyz’中找不到字符串’a’我们发现’a’ 在’ABC’的第’0’位

strripos():以不区分大小写的方式查找指定字符串在目标字符串中最后一次出现的位置。与 strrpos() 不同,strripos() 不区分大小写。

strripos()用法:strripos(string,find,start)

string是字符串,find是要被查找的,start是开始查找的位置

strripos()用法示例:

<?php
$haystack = 'ababcd';
$needle = 'aB'; $pos = strripos($haystack, $needle); if ($pos === false) {
echo "我们没有在($haystack)发现($needle)";
} else {
echo "我们在($haystack)发现($needle)最后一次出现位置是在($pos)";
}
?>

结果:

我们在(ababcd)发现(aB)最后一次出现位置是在(2)

strrpos() :计算指定字符串在目标字符串中最后一次出现的位置,区分大小写!

写法:strrpos ( string $haystack , string $needle [, int $offset = 0 ] ),haystack在此字符串中进行查找。needle如果 needle不是一个字符串,它将被转换为整型并被视为字符的顺序值。offset或许会查找字符串中任意长度的子字符串。负数值将导致查找在字符串结尾处开始的计数位置处结束。

strrpos()用法示例 :

检查字串是否存在

<?php

$pos = strrpos($mystring, “b”);
if ($pos === false) { // 注意: 三个等号
// 未发现…
}

?>

使用偏移位置进行查找

<?php
$foo = “0123456789a123456789b123456789c”;

var_dump(strrpos($foo, ‘7’, -5));  // 从尾部第 5 个位置开始查找
// 结果: int(17)

var_dump(strrpos($foo, ‘7’, 20));  // 从第 20 个位置开始查找
// 结果: int(27)

var_dump(strrpos($foo, ‘7’, 28));  // 结果: bool(false)
?>

 

博客地址:PHP stripos()、strripos()和strrpos() 使用方法和区别

PHP stripos()、strripos()和strrpos() 使用方法和区别的更多相关文章

  1. ThinkPHP的D方法和M方法的区别

    M方法和D方法的区别 ThinkPHP 中M方法和D方法都用于实例化一个模型类,M方法 用于高效实例化一个基础模型类,而 D方法 用于实例化一个用户定义模型类. 使用M方法 如果是如下情况,请考虑使用 ...

  2. 正则表达式中的exec和match方法的区别

    正则表达式中的exec和match方法的区别 字符串的正则方法有:match().replace().search().split() 正则对象的方法有:exec().test() 1.match m ...

  3. Hibernate框架之get和load方法的区别

    我们在学习Hibernate框架时,经常会进行修改,删除操作,对于这些操作,我们都应该先加载对象,然后在执行或删除的操作,那么这里Hibernate提供了两种方法按照主键加载对象,也就是我要说的get ...

  4. [BS-27] 创建NSURL的几个方法的区别

    创建NSURL的几个方法的区别     URL的基本格式 = 协议://主机地址/路径 URL和Path的区别 * URL:统一资源定位符,格式 “协议+主机名称+路径”   例如:[NSURL UR ...

  5. Java线程中yield与join方法的区别

    长期以来,多线程问题颇为受到面试官的青睐.虽然我个人认为我们当中很少有人能真正获得机会开发复杂的多线程应用(在过去的七年中,我得到了一个机会),但是理解多线程对增加你的信心很有用.之前,我讨论了一个w ...

  6. OpenGL的glTexImage2D()与gluBuild2DMipmaps()的使用方法及区别

    OpenGL的glTexImage2D()与gluBuild2DMipmaps()的使用方法及区别 说明:两者的都是生成纹理,即:将载入的位图文件(*.bmp)转换成纹理贴图. 1.glTexImag ...

  7. Java线程中run和start方法的区别

    http://bbs.csdn.net/topics/350206340 Thread类中run()和start()方法的区别如下:run()方法:在本线程内调用该Runnable对象的run()方法 ...

  8. M方法和D方法的区别

    M方法和D方法的区别 ThinkPHP 中M方法和D方法都用于实例化一个模型类,M方法 用于高效实例化一个基础模型类,而 D方法 用于实例化一个用户定义模型类. 使用M方法 如果是如下情况,请考虑使用 ...

  9. PHP中数组合并的两种方法及区别介绍

    PHP数组合并两种方法及区别 如果是关联数组,如下: 复制代码代码如下: $a = array( 'where' => 'uid=1', 'order' => 'uid', ); $b = ...

随机推荐

  1. 利用JS代码快速获得知网论文作为参考文献的引用文本

    写论文的时候,发现知网虽然提供了生成参考文献引用标注的功能,但是效率仍然不太高.我就忙里偷闲写了一段简单的脚本,能无延迟地生成这段引用文本.目前支持期刊论文和硕士论文. 代码: (function() ...

  2. 对称加密与非对称加密,以及RSA的原理

    一 , 概述 在现代密码学诞生以前,就已经有很多的加密方法了.例如,最古老的斯巴达加密棒,广泛应用于公元前7世纪的古希腊.16世纪意大利数学家卡尔达诺发明的栅格密码,基于单表代换的凯撒密码.猪圈密码, ...

  3. 用74HC165读8个按键状态

    源:用74HC165读8个按键状态 源:74LV165与74HC595 使用 74LV165说明: 74LV165是8位并行负载或串行输入移位寄存器,末级提供互补串行输出(Q7和Q7).并行负载(PL ...

  4. 激活webstorm(作为一个伪前端,偶尔用用)

    推荐博客:https://blog.csdn.net/voke_/article/details/76418116 我试的方法一.

  5. 20145312 实验三《敏捷开发与XP实践》

    20145312 实验三<敏捷开发与XP实践> 实验内容 使用 git 上传代码 使用 git 相互更改代码 与20145318同学一组,使用git相互更改代码 同组实验报告链接:http ...

  6. # 20145314《信息安全系统设计基础》期中复习总结 Part B

    20145314<信息安全系统设计基础>期中复习总结 Part B 学习知识点内容总结 复习线索:http://group.cnblogs.com/topic/73069.html 本周的 ...

  7. PHP中的strtotime()函数

    参见: http://www.phppan.com/2011/06/php-strtotime/ http://developer.51cto.com/art/201107/275478.htm PH ...

  8. JAVA基础补漏--SET

    HashSet: 1.无序集合. 2.底层是一个哈希表结构,查询速速很快. 哈希表==数据 + 链表/红黑树 特点:查询速度快. 存储数据到SET中: 1.计算数据的HASH值. 2.查看有没有相同H ...

  9. java计算两个日期之间相隔的月份(向下取整)

    最近需求里面有个需要计算两个日期之间相隔的月份,写起来还挺繁琐,需要将各种情况都要考虑到,写了一个作为以后自己的工具吧. //获取哪一天 public static int getDay(Date d ...

  10. C#中【正则表达式regular expression】相关的知识

    Regex System.Text.RegularExpressions.Regex      regex应该是regular expression的缩写 https://msdn.microsoft ...