php strpos、stripos函数怎么用?使用注意事项
微wx笑
2022-02-05【编程语言】
136
4
0关键字:
此函数可能返回布尔值 FALSE,但也可能返回等同于 FALSE 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用 === 或者 !== 运算符来测试此函数的返回值。
目录
大多数网站介绍的是下面这些:
定义和用法
stripos() 函数查找字符串在另一字符串中第一次出现的位置(不区分大小写)。
注释:stripos() 函数是不区分大小写的。
注释:该函数是二进制安全的。
相关函数:
strpos() - 查找字符串在另一字符串中第一次出现的位置(区分大小写)
strripos() - 查找字符串在另一字符串中最后一次出现的位置(不区分大小写)
strrpos() - 查找字符串在另一字符串中最后一次出现的位置(区分大小写)
用法举例
然而在使用的时候,通常都需要配合条件判断,这样问题就来了!
比如下面的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 | $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; } } |
写法是错误的,不会得到预期的结果。
再比如下面的代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 | $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; } } |
依然错误。
正确的用法是:
1 2 3 4 5 6 7 8 9 10 11 12 13 | $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