php strpos、stripos函数怎么用?使用注意事项
此函数可能返回布尔值 FALSE,但也可能返回等同于 FALSE 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用 === 或者 !== 运算符来测试此函数的返回值。
大多数网站介绍的是下面这些:
定义和用法
stripos() 函数查找字符串在另一字符串中第一次出现的位置(不区分大小写)。
注释:stripos() 函数是不区分大小写的。
注释:该函数是二进制安全的。
相关函数:
strpos() - 查找字符串在另一字符串中第一次出现的位置(区分大小写)
strripos() - 查找字符串在另一字符串中最后一次出现的位置(不区分大小写)
strrpos() - 查找字符串在另一字符串中最后一次出现的位置(区分大小写)
语法
stripos(string,find,start)
参数 | 描述 |
---|---|
string | 必需。规定要搜索的字符串。 |
find | 必需。规定要查找的字符。 |
start | 可选。规定开始搜索的位置。 |
技术细节
返回值: | 返回字符串在另一字符串中第一次出现的位置,如果没有找到字符串则返回 FALSE。 注释:字符串位置从 0 开始,不是从 1 开始。 |
PHP 版本: | 5+ |
用法举例
然而在使用的时候,通常都需要配合条件判断,这样问题就来了!
比如下面的代码:
$ztfd = 1.1; //涨停幅度,创业板和科创板是20%,ST处理的10%;主板的是10%,ST处理的是5% $is300or688 = 0; //是否为科创板或创业板股票 if (stripos($code,'300') or stripos($code,'688')){ $is300or688 = 1; $ztfd = 1.2; if (stripos($name,'ST')){ $ztfd = 1.1; } }else{ if (stripos($name,'ST')){ $ztfd = 1.05; } }
写法是错误的,不会得到预期的结果。
再比如下面的代码:
$ztfd = 1.1; //涨停幅度,创业板和科创板是20%,ST处理的10%;主板的是10%,ST处理的是5% $is300or688 = 0; //是否为科创板或创业板股票 if (0 == stripos($code,'300') or 0 == stripos($code,'688')){ $is300or688 = 1; $ztfd = 1.2; if (0 == stripos($name,'ST')){ $ztfd = 1.1; } }else{ if (0 == stripos($name,'ST')){ $ztfd = 1.05; } }
依然错误。
正确的用法是:
$ztfd = 1.1; //涨停幅度,创业板和科创板是20%,ST处理的10%;主板的是10%,ST处理的是5% $is300or688 = 0; //是否为科创板或创业板股票 if (0 === stripos($code,'300') or 0 === stripos($code,'688')){ $is300or688 = 1; $ztfd = 1.2; if (0 === stripos($name,'ST')){ $ztfd = 1.1; } }else{ if (0 === stripos($name,'ST')){ $ztfd = 1.05; } }
此函数可能返回布尔值 FALSE,但也可能返回等同于 FALSE 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用 === 或者 !== 运算符来测试此函数的返回值。
PHP 比较运算符
PHP 比较运算符用于比较两个值(数字或字符串):
运算符 | 名称 | 例子 | 结果 | |
---|---|---|---|---|
== | 等于 | $x == $y | 如果 $x 等于 $y,则返回 true。 | |
=== | 全等(完全相同) | $x === $y | 如果 $x 等于 $y,且它们类型相同,则返回 true。 | |
!= | 不等于 | $x != $y | 如果 $x 不等于 $y,则返回 true。 | |
<> | 不等于 | $x <> $y | 如果 $x 不等于 $y,则返回 true。 | |
!== | 不全等(完全不同) | $x !== $y | 如果 $x 不等于 $y,或它们类型不相同,则返回 true。 | |
> | 大于 | $x > $y | 如果 $x 大于 $y,则返回 true。 | |
< | 小于 | $x < $y | 如果 $x 小于 $y,则返回 true。 | |
>= | 大于或等于 | $x >= $y | 如果 $x 大于或者等于 $y,则返回 true. | |
<= | 小于或等于 | $x <= $y | 如果 $x 小于或者等于 $y,则返回 true。 |
本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/blog/lang/2022-02-05/1011.html