簡體   English   中英

這個特定的StrPos如何在PHP中工作?

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

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