![](/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.