簡體   English   中英

strpos不適用於搜索以X開頭的術語

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM