我对PHP非常陌生,所以我可能会在这里忽略一些简单的事情。
快速概述我的脚本:
$line
)。$line
,如果数组不为空,则将指定键的结果存储为字符串($csv_product_list
)。$sku
)。然后我尝试遍历$sku
数组,同时检查字符串$sku
中是否存在$csv_product_list
的值。问题是,即使字符串$csv_product_list
中存在值 ,我也会收到相同的结果。对于此验证我正在使用:
if (strpos($csv_product_list, $sku[$s] !== false)) {
echo '<b>', $sku[$s], '</b> does exist within <b>$csv_product_list</b><br>';
} else {
echo '<b>', $sku[$s], '</b> does not exist within <b>$csv_product_list</b><br>';
}
在下面的屏幕截图中,我输出了$csv_product_list
的值,而在该行下面是两个$sku
值的循环结果。
正如您所看到的, CB853 导致它在$csv_product_list
中不存在,尽管上面的结果表明它确实存在。
请注意<{1}}中不存在 CB967 ,因此当此脚本正常运行时,结果应该彼此不同。
任何人都可以提供有关这里有什么问题的见解吗?我的完整代码包含在下面,以便进行任何澄清。非常感谢你的时间。
$csv_product_list
答案 0 :(得分:2)
您没有正确使用它:
if (strpos($csv_product_list, $sku[$s] !== false)) {
^ this is wrong
$sku[$s] !== false
的结果是布尔值true
或false
,因此您要检查$csv_product_list
中是否存在布尔值。
你需要:
if (strpos($csv_product_list, $sku[$s]) !== false) {
^ here