0

我正在尝试检查 sku 第一个字符是否等于然后显示自定义选项值。这是代码

if (strpos($sku_code, 'F') == 0) { 
    $select->setValue($configValue); 
}

使用此代码可以达到预期的效果,即它会更改自定义选项的值,但不幸的是,它会更改所有 sku 的值,而不仅仅是以“F”开头的那些

有什么想法吗?或者我可以尝试的例子?

更新 感谢您的帮助..我尝试了您的解决方案,但效果相同。只是忽略这里的声明是我正在使用的代码。

if (strpos($sku_code, 'F') === 0) {
                    $select->setValue($configValue); 
                }
                else if ($_value->getTitle() == 'M') {
                    $select->setValue($_value->getOptionTypeId());  
                }
                else if ($_value->getTitle() == 'T') {
                    $select->setValue($_value->getOptionTypeId());  
                } 
4

1 回答 1

0
strpos($sku_code, 'F')  

如果未找到搜索字符串,将返回false 。而在 PHP 中,0 被认为是错误的。因此,您的状况将被评估为真实!您也可以检查返回值的类型,if(strpos($sku_code, 'F') === 0)因为这也会检查数据类型。

于 2019-04-04T00:54:58.903 回答