PHP';strpos($string,$value!==false)和#x27;工作不正常
我对PHP非常陌生,所以我可能忽略了一些简单的东西 快速概述我的脚本的功能:PHP';strpos($string,$value!==false)和#x27;工作不正常,php,arrays,magento,strpos,Php,Arrays,Magento,Strpos,我对PHP非常陌生,所以我可能忽略了一些简单的东西 快速概述我的脚本的功能: Interprest是一个CSV文件,并将每一行存储为一个数组($line) 循环遍历数组$line,如果数组不是空的,则将指定键的结果存储为字符串($csv\u product\u list) 从Magento数据库检索产品SKU列表,并将其存储为数组($SKU) 然后,我尝试在$sku数组中循环,同时检查$sku的值是否存在于字符串$csv\u product\u list中。问题是,即使字符串$csv\u p
- Interprest是一个CSV文件,并将每一行存储为一个数组(
)$line
- 循环遍历数组
,如果数组不是空的,则将指定键的结果存储为字符串($line
)$csv\u product\u list
- 从Magento数据库检索产品SKU列表,并将其存储为数组(
)$SKU
$sku
数组中循环,同时检查$sku
的值是否存在于字符串$csv\u product\u list
中。问题是,即使字符串$csv\u product\u 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>';
}
您没有正确使用它:
if (strpos($csv_product_list, $sku[$s] !== false)) {
^ this is wrong
$sku[$s]的结果!==false
是一个布尔值,true
或false
,因此您要检查$csv\u产品\u列表中是否存在布尔值
你需要:
if (strpos($csv_product_list, $sku[$s]) !== false) {
^ here
我必须检查一下眼睛,换上眼镜。啊,真是个可笑的错误。我最初错过了)
,从false
的末尾开始,所以我想我必须在那里放两个来修复错误。谢谢。@RiggsFolly问题标题有帮助:-)我在考虑多字节字符集问题。尽管这很值得一提
if (strpos($csv_product_list, $sku[$s]) !== false) {
^ here