这个特殊的 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()
中寻找 'Gift Card',如果它不是假的,就做点什么。不过,我不明白那是什么。有什么想法吗?
这主要是检查字符串文字“Gift Card”是否包含在由 $_order->getDiscountDescription()
编辑的字符串 return 中(即假设它 returns 一个字符串...)。使用运算符 !==
和操作数 false
是因为位置可能为 0,表示字符串的开头。参考the documentation for strpos()上的警告:
Warning
This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE. Please read the section on Booleans for more information. Use the === operator for testing the return value of this function.
当该条件为真(即订单描述包含 'Gift Card')时,变量 $order
将附加字符串文字 RGC1*1*
,后跟 return 值来自对 $_order->getDiscountDescription()
的调用,5 个星号字符,一个回车符 return 字符(即 \r
)和一个换行符(即 \n
)。
我有以下代码。我想知道它是否像我认为的那样工作:
//Gift Card Redemption
if(strpos($_order->getDiscountDescription(), 'Gift Card') !== false){
$order .= 'RGC1*1*'.$_order->getDiscountDescription().'*****';
$order .= "\r\n";
}
我认为它是如何工作的:在 $_order->getDiscountDescription()
中寻找 'Gift Card',如果它不是假的,就做点什么。不过,我不明白那是什么。有什么想法吗?
这主要是检查字符串文字“Gift Card”是否包含在由 $_order->getDiscountDescription()
编辑的字符串 return 中(即假设它 returns 一个字符串...)。使用运算符 !==
和操作数 false
是因为位置可能为 0,表示字符串的开头。参考the documentation for strpos()上的警告:
Warning This function may return Boolean FALSE, but may also return a non-Boolean value which evaluates to FALSE. Please read the section on Booleans for more information. Use the === operator for testing the return value of this function.
当该条件为真(即订单描述包含 'Gift Card')时,变量 $order
将附加字符串文字 RGC1*1*
,后跟 return 值来自对 $_order->getDiscountDescription()
的调用,5 个星号字符,一个回车符 return 字符(即 \r
)和一个换行符(即 \n
)。