老程序员分享:PHPstripos()、strripos()和strrpos()使用方法和区别

简介: 老程序员分享:PHPstripos()、strripos()和strrpos()使用方法和区别

"

区别

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

写法:stripos ( string $haystack , string $needle 【, int $offset = 0 】 )

haystack:在该字符串中查找。

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

offset:可选的 //代码效果参考:https://v.youku.com/v_show/id_XNjQwMDEzODE1Ng==.html

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()用法示例:

结果:

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

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

写法:strrpos ( string $haystack , string //代码效果参考:https://v.youku.com/v_show/id_XNjQwMDEzOTUzMg==.html

$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() 使用方法和区别

分享到:

新浪微博

腾讯微博

更多


"
image.png
相关文章
|
1天前
|
物联网 程序员 API
程序员必知:WndPric的使用方法
程序员必知:WndPric的使用方法
|
11月前
|
供应链 数据可视化 搜索推荐
保姆级教程,彻底搞懂Java继承的五种用法
保姆级教程,彻底搞懂Java继承的五种用法
262 0
|
7月前
|
C++
《C++避坑神器·二十》C++智能指针简单使用
《C++避坑神器·二十》C++智能指针简单使用
34 0
|
7月前
|
C++
《C++避坑神器·二》引用的本质分析
《C++避坑神器·二》引用的本质分析
41 0
|
8月前
|
Java 程序员 Android开发
C++ 程序员,安卓开发注意事项
C++ 程序员,安卓开发注意事项
|
算法 Java Android开发
|
运维 监控 Java
【高效编码】JDK自带的命令行工具的使用还用不清楚的地方?快来看看这篇文章吧!!!
您好,我是码农飞哥,感谢您阅读本文!如果此文对您有所帮助,请毫不犹豫的一键三连吧。小伙伴们有啥想看的,想问的,欢迎积极留言告诉我喔。
136 0
【高效编码】JDK自带的命令行工具的使用还用不清楚的地方?快来看看这篇文章吧!!!
|
JavaScript 前端开发 安全
每种编程语言都是干嘛的!!!(初学者须知)
每种编程语言都是干嘛的!!!(初学者须知)
|
存储 数据采集 算法
库调多了,都忘了最基础的概念-方法篇
库调多了,都忘了最基础的概念-方法篇
108 0
库调多了,都忘了最基础的概念-方法篇