strpos() stripos() problems php



我知道这是一个常规的问题,我不是要加入不知道strpos()返回字符串的人群,如果您想要要比较它是否找到或未发现您必须使用===或==!比较。

我的问题是,strpos每次工作都很好,但是现在似乎有一个我找不到的问题,也许是因为我一直在看太久。

我的代码就是这样:

$tmp = scandir("img/products");
$productImgs = array();
foreach ($tmp as $key => $value) {
    foreach ($subCats as $_subItem) {
        $_tmp = $_subItem["SUB_CAT"];
        echo $value." => ".$_tmp."<br>";
        if (strpos(rtrim($value), rtrim($_tmp)) !== FALSE) {
            $productImgs[] = $value;
            echo "lol<br>";
        }
    }
}

它基本上将图片存储在 tmp 数组中,然后循环遍历所有 subcats 数组,以查看是否有匹配。例如:

$_subItem["SUB_CAT"] = "Microplate leolvasók"  
$value = "Microplate leolvasók.jpg"

当我回荡所有值时,那里的所有值似乎都有匹配,但不会添加到数组中。

它打印出来: MicroplateLeolvasók.jpg=> MicroplateLeolvasók

我似乎发现这两个字符串之间没有区别,但由于strpos()的功能,它不应该计算。我的字符串在 $ subcats array中的UTF8中,对于 $ tmp 数组,Scandir就是Scandir给您的。目录不受保护,它可以读取和写入文件。

任何想法为什么不匹配?

预先感谢!

leolvasók!=leolvasók中的重音。基本上ó不同。

使用您使用的字体,它们看起来相同。对我来说,在Firefox上,在Linux下有轻微的视觉差异。

相关内容

  • 没有找到相关文章

最新更新