[英]strpos doesn't work with searching a term start with X
我需要根據$ assetName更改十進制數字的長度。 為此,我使用strpos像這樣:
if (strpos($assetName, 'JPY') || strpos($assetName, 'XAG'))
{
$decimal = 3;
}
elseif (strpos($assetName, 'OIL') || strpos($assetName, 'XAU'))
{
$decimal = 2;
}
else
{
$decimal = 5;
}
它與JPY和OIL一起使用時,不適用於XAG和XAU。 如果我嘗試使用XAG或XAU,則$ decimal等於5。如果我使用AGU而不是XAG,則在$ assetName = XAGUSD時可以使用。
我猜一開始X會引起問題,但找不到解決方案。
您應該使用嚴格的類型檢查來檢查strpos
strpos($assetName, 'JPY') !== false
因為當搜索到的字符串碰巧在第0個索引處匹配時,則它在if
語句中為false,但如果使用嚴格類型比較進行檢查if
false。
注意:-返回針相對於干草堆字符串起點的位置(與偏移量無關)。 另請注意,字符串位置從0開始,而不是1。
如果找不到針,則返回FALSE 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.