我需要根据 $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 导致了问题,但我找不到解决方案。
您应该使用严格的类型检查来检查 strpos
strpos($assetName, 'JPY') !== false
因为当搜索的字符串碰巧在第 0 个索引处匹配时,它在if
语句中为假,但如果使用严格类型比较检查则不会为假。
注意:-返回针所在位置相对于haystack字符串开头的位置(与偏移量无关)。另请注意,字符串位置从 0 开始,而不是 1。
如果未找到针,则返回FALSE。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句