老程序员分享: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月前
|
人工智能 缓存 BI
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro,跑完 Skills —— OA 审批、大屏、报表、部署 5 大实战场景后的真实体验 ![](https://oscimg.oschina.net/oscnet/up608d34aeb6bafc47f
7695 23
Claude Code + DeepSeek V4-Pro 真实评测:除了贵,没别的毛病
|
小程序
|
5月前
|
存储 Linux 网络安全
跨平台文件传输工具FileZilla客户端安装使用教程
跨平台文件传输工具FileZilla客户端安装使用教程
2576 0
|
1月前
|
人工智能 JSON BI
DeepSeek V4 来了!超越 Claude Sonnet 4.5,赶紧对接 Claude Code 体验一把
JeecgBoot AI专题研究 把 Claude Code 接入 DeepSeek V4Pro 的真实体验与避坑记录 本文记录我将 Claude Code 对接 DeepSeek 最新模型(V4Pro)后的真实体验,测试了 Skills 自动化查询和积木报表 AI 建表两个场景——有惊喜,也踩
9069 20
|
1月前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
38149 71
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
|
3月前
|
SQL 人工智能 分布式计算
关于阿里云 ODPS(MaxCompute)的全面介绍和应用
不忘初心,方得始终,终身学习,终身收益。
813 1
|
缓存 监控 前端开发
JavaScript 实现大文件上传的方法
【10月更文挑战第17天】通过以上步骤和方法,我们可以实现较为可靠和高效的大文件上传功能。当然,具体的实现方式还需要根据实际的应用场景和服务器要求进行调整和优化。
|
JSON 前端开发 安全
【潜意识java】前后端跨域问题及解决方案
本文深入探讨了跨域问题及其解决方案。跨域是指浏览器出于安全考虑,限制从一个域加载的网页请求另一个域的资源。
4395 0
|
弹性计算 安全 数据安全/隐私保护
远程桌面连接Windows实例,提示“为安全考虑,已锁定该用户账户,原因是登录尝试或密码更改尝试过多”错误解决方案
远程桌面连接Windows实例,提示“为安全考虑,已锁定该用户账户,原因是登录尝试或密码更改尝试过多”错误解决方案
3928 0