区别

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. shell 脚本中双引号 单引号 反引号 的区别

    转自:http://blog.csdn.net/iamlaosong/article/details/54728393 最近要编个shell脚本处理数据,需要检测数据文件是否存在,文件名中包含日期,所 ...

  2. iOS知识点整理

    1.宏定义 #define  #   ## a. 后面一个#是转成字符串 b. 后面## 是连接的作用 2. __attribute__ 常用的 __attribute__(( constructor ...

  3. path.join()和path.resolve()的区别

    现在写代码的时候有时候使用path.join(__dirname,'dist')有时候用path.resolve(__dirname,'dist'),都是能拼接处来一个绝对路径,但是具体有什么区别呢? ...

  4. ARTS Week 002

    Algorithm Leetcode 2. Add Two Numbers You are given two non-empty linked lists representing two non- ...

  5. Linux安装ftp组件vsftpd

    1 安装vsftpd组件 安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件. [root@bogon ~]# yum -y install vsftpd 2 添 ...

  6. 构造函数挨个过 —— String()

    本篇整理JavaScript中构造函数String的相关知识,主要分为以下三个部分: 构造函数String()的作用与使用方式: String()的属性和方法: 字符串对象实例属性和方法: 一 构造函 ...

  7. Jenkins FreeStyle or Pipeline Job

    FreeStyle Job: 1. 需要在页面添加模块配置项与参数完成配置 2. 每个Job仅能实现一个开发功能 3. 无法将配置代码化,不利于Job配置迁移与版本控制 4. 逻辑相对简单,无额外学习 ...

  8. python-打印进度条

    progress_bar.py #!/usr/bin/python3.6 #__*__uft8__*__ import sys import time def progress(percent,wid ...

  9. .NET Framework 系统要求

    .NET Framework 3.5对操作系统的要求 .NET Framework 4 对操作系统的要求 .NET Framework 4.5对操作系统的要求

  10. How To Use Coordinates To Extract Sequences In Fasta File

    [1] bedtools (https://github.com/arq5x/bedtools2) here is also bedtools (https://github.com/arq5x/be ...