老程序员分享: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
相关文章
|
SQL 安全 数据库
网站被劫持 直接跳转到其他网站的解决办法
某一客户单位的网站首页被篡改,并收到网监的通知说是网站有漏洞,接到上级部门的信息安全整改通报,贵单位网站被植入木马文件,导致网站首页篡改跳转到caipiao网站,根据中华人民共和国计算机信息系统安全保护条例以及信息安全等级保护管理办法的规定,请贵单位尽快对网站漏洞进行修复,核实网站发生的实际安全问题,对发生的问题进行全面的整改与处理,避免网站事态扩大。
8164 0
QGS
Debian11,Ubuntu20.04部署zabbix6.0解决中文乱码问题
记Debian11,Ubuntu20.04部署zabbix6.0解决中文乱码问题
QGS
1006 0
Debian11,Ubuntu20.04部署zabbix6.0解决中文乱码问题
|
3月前
|
机器学习/深度学习 存储 缓存
DNS解析中TTL参数深度解析
本文深度解析DNS解析中的TTL参数,涵盖技术规范、优化策略及工程实践。内容包括TTL定义、分层缓存机制、企业配置建议、变更管理流程、特殊场景应对方案及前沿技术演进,助你全面掌握TTL优化方法。
453 1
|
SQL 自然语言处理 数据库
XiYan-SQL:一种多生成器集成的Text-to-SQL框架
XiYan-SQL 是一种创新的多生成器集成Text-to-SQL框架,通过M-Schema增强模型对数据库结构的理解,结合ICL与SFT方法提升SQL生成质量和多样性,经实验证明在多个数据集上表现优异,特别是在Spider和SQL-Eval上取得了领先成绩。
2104 7
|
JavaScript
typeScript基础(3)_ts函数默认值和可选参数
本文介绍了在TypeScript中如何使用函数的默认值和可选参数。展示了如何为函数参数指定默认值,使得在调用函数时可以省略某些参数,以及如何定义可选参数。
916 2
|
SQL 关系型数据库 MySQL
mysql:1153 Got a packet bigger than ‘max_allowed_packet’ bytes的解决方法
mysql:1153 Got a packet bigger than ‘max_allowed_packet’ bytes的解决方法
581 0
|
弹性计算 安全 数据安全/隐私保护
远程桌面连接Windows实例,提示“为安全考虑,已锁定该用户账户,原因是登录尝试或密码更改尝试过多”错误解决方案
远程桌面连接Windows实例,提示“为安全考虑,已锁定该用户账户,原因是登录尝试或密码更改尝试过多”错误解决方案
2506 0
|
前端开发 JavaScript
node反向代理,解决跨域(http-proxy-middleware)
使用node.js和http-proxy-middleware库实现反向代理,解决跨域问题,允许前端请求通过代理访问不同端口的服务。
596 3
|
设计模式 测试技术 PHP
深入解析 Laravel 中的依赖注入
【8月更文挑战第31天】
418 0
|
Docker 容器
docker desktop安装es并连接elasticsearch-head:5
以上就是在Docker Desktop上安装Elasticsearch并连接Elasticsearch-head:5的步骤。
633 2