为了账号安全,请及时绑定邮箱和手机立即绑定

strpos 不适用于搜索以 X 开头的术语

strpos 不适用于搜索以 X 开头的术语

PHP
波斯汪 2022-01-14 18:02:55
我需要根据 $assetName 更改十进制数的长度。为此,我正在使用 strpos,如下所示:if (strpos($assetName, 'JPY') || strpos($assetName, 'XAG')){    $decimal = 3;}elseif (strpos($assetName, 'OIL') || strpos($assetName, 'XAU')){    $decimal = 2;}else{    $decimal = 5;}它不适用于 XAG 和 XAU,而适用于 JPY 和 OIL。如果我尝试使用 XAG 或 XAU,则 $decimal 等于 5。如果我使用 AGU 而不是 XAG,则它在 $assetName = XAGUSD 时有效。我猜一开始是 X 会导致问题,但我找不到解决方案。
查看完整描述

1 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

您应该使用严格的类型检查来检查 strpos

strpos($assetName, 'JPY') !== false

因为当搜索到的字符串恰好在第 0 个索引处匹配时,它在if语句中为 false,但如果通过严格的类型比较检查则不是 false。

注意:-返回针相对于haystack字符串开头的位置(与偏移量无关)。另请注意,字符串位置从 0 开始,而不是 1。

如果未找到针头,则返回FALSE 。


查看完整回答
反对 回复 2022-01-14
  • 1 回答
  • 0 关注
  • 103 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信