当前位置: 首页 > news >正文

php strpose_PHP之strpos

(PHP 4, PHP 5, PHP 7)

strpos — 查找字符串首次出现的位置

说明

strpos( string $haystack, mixed $needle[, int $offset = 0] ) : int

返回 needle 在 haystack 中首次出现的数字位置。 mixed 是混合型,数字,ascll码,字符串都可以找,比如输入97可能回找到a

参数

haystack

在该字符串中进行查找。

needle

如果 needle 不是一个字符串,那么它将被转换为整型并被视为字符的顺序值。

offset(偏移量)

如果提供了此参数,搜索会从字符串该字符数的起始位置开始统计。如果是负数,搜索会从字符串结尾指定字符数开始。

// 忽视位置偏移量之前的字符进行查找

$newstring = 'abcdef abcdef';

$pos = strpos($newstring, 'a', 1);

echo $pos;

// $pos = 7, 不是 0

?>

----------------------------------------------

// 忽视位置偏移量之前的字符进行查找

$newstring = 'abcdef abcdef';

$pos = strpos($newstring, 'abc', 3);

echo $pos;

// $pos = 7, 不是 0

?>

/*

*/

返回值

返回 needle 存在于 haystack 字符串起始的位置(独立于 offset)。同时注意字符串位置是从0开始,而不是从1开始的。 如果没找到 needle,将返回 FALSE。

>Warning 此函数可能返回布尔值 FALSE,但也可能返回等同于 FALSE 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用 === 运算符来测试此函数的返回值。

例子1

$mystring = 'abc';

$findme   = 'a';

$pos = strpos($mystring, $findme);

// 注意这里使用的是 ===。简单的 == 不能像我们期待的那样工作,

// 因为 'a' 是第 0 位置上的(第一个)字符。

if ($pos === false) {

echo "The string '$findme' was not found in the string '$mystring'";

} else {

echo "The string '$findme' was found in the string '$mystring'";

echo " and exists at position $pos";

}

?>

因为strpos返回值是int型,只有找不到字符串时是Flase,当不用===时,0会被当成Flase来执行,所以第0个字符不被输出

参考手册

相关文章:

  • win10装debian 双系统_技术|如何拥有一个 Windows 10 和 Debian 10 的双系统
  • redistemplate怎么修改数据_redisTemplate一opsForValue操作
  • linux命令deploy_Linux deploy 超详细入门教程
  • word文档怎么到下一页去写_word文档怎么把下一页的内容移到上一页?
  • 绞车拆装实训报告_千斤顶实训报告.doc
  • incrby redis 最大值_Redis Incrby 命令
  • 包装函数 python_Python 在函数上添加包装器
  • kirin710f是什么处理器_麒麟710F处理器怎么样
  • epoll编程实例客户端_socket采用epoll编程demo
  • pythonsvd内存不足_python – 有没有办法防止numpy.linalg.svd内存不足?
  • python 统计分析apache日志_Apache 日志分析(一)
  • mysql中groupby会用到索引吗_MySQL优化GROUP BY方案
  • php5.6的apaches的dll_win7(64位)php5.6-Apache2.4-mysql5.6环境安装
  • freemarker反向取数_freemarker 取值(插值)(转)
  • miui 谷歌框架_谷歌和高通正式联手,加强安卓系统掌控,华为:鸿蒙正全面超越...
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • 【391天】每日项目总结系列128(2018.03.03)
  • 【5+】跨webview多页面 触发事件(二)
  • 2017届校招提前批面试回顾
  • Babel配置的不完全指南
  • Javascripit类型转换比较那点事儿,双等号(==)
  • JS 面试题总结
  • js对象的深浅拷贝
  • Linux下的乱码问题
  • vue中实现单选
  • 汉诺塔算法
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 计算机在识别图像时“看到”了什么?
  • 检测对象或数组
  • 三栏布局总结
  • 深入 Nginx 之配置篇
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • ​Linux Ubuntu环境下使用docker构建spark运行环境(超级详细)
  • ​ssh免密码登录设置及问题总结
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • (2)nginx 安装、启停
  • (C语言)逆序输出字符串
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • .bashrc在哪里,alias妙用
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .NET Core 2.1路线图
  • .net 后台导出excel ,word
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • .net和jar包windows服务部署
  • .net经典笔试题
  • .net通用权限框架B/S (三)--MODEL层(2)
  • .net中应用SQL缓存(实例使用)
  • @Documented注解的作用
  • @JsonSerialize注解的使用