![](/img/trans.png)
[英]Php in_array / strpos does not work - How to find an 'exact' match?
[英]How does this particular StrPos work in PHP?
我有以下代碼。 我想知道它是否像我認為的那樣工作:
//Gift Card Redemption
if(strpos($_order->getDiscountDescription(), 'Gift Card') !== false){
$order .= 'RGC1*1*'.$_order->getDiscountDescription().'*****';
$order .= "\r\n";
}
我認為它是如何工作的:在$_order->getDiscountDescription()
查找“禮品卡”,如果它不是false,請執行一些操作。 我不明白那是什么。 有什么想法嗎?
這基本上是檢查字符串文字' Gift Card '是否包含在$_order->getDiscountDescription()
返回的字符串中(即假定它返回了一個字符串...)。 使用運算符!==
和操作數false
的原因是位置可能為0,表示字符串的開頭。 請參考文檔中關於strpos()的警告:
警告此函數可能返回布爾FALSE ,但也可能返回非布爾值,其值為FALSE 。 請閱讀布爾值部分以獲取更多信息。 使用===運算符測試此函數的返回值。
當該條件為真時(即訂單描述中包含“禮品卡”),則變量$order
附加字符串文字RGC1*1*
后跟調用$_order->getDiscountDescription()
的返回值,即5字符,回車符(即\\r
)和換行符(即\\n
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.