首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >strpos() stripos()问题php

strpos() stripos()问题php
EN

Stack Overflow用户
提问于 2017-09-01 09:45:07
回答 1查看 282关注 0票数 0

我知道这是一个常见的问题,我不想加入那些不知道strpos()返回字符串位置的人的行列,如果您想比较是否找到了字符串,就必须使用===或==!比较。

我的问题是,strpos每次都工作得很好,但是现在它似乎有一个我找不到的问题,也许是因为我已经观察它太久了。

我的代码是这样的:

代码语言:javascript
复制
$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数组,以查看是否匹配。例如:

代码语言:javascript
复制
$_subItem["SUB_CAT"] = "Microplate leolvasók"  
$value = "Microplate leolvasók.jpg"

因为我重复所有的值,那里似乎有一个匹配,但它没有被添加到任何数组。

它打印出:Microplate leolvasók.jpg => Microplate leolvasók

除了.jpg结尾之外,我似乎没有发现这两个字符串之间的区别,但是由于strpos()的函数,它不应该计算在内。我的字符串在utf8 for $subCats数组中,对于$tmp数组,它是scandir提供给您的。该目录不受保护,它可以读写该文件。

知道为什么不匹配吗?

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-01 10:01:15

在leolvaso k != leolvasók中“o”的重音。基本上ó和́是不同的。

用你使用的字体,它们看起来可能是一样的。对我来说,在Firefox上,Linux下有一个细微的视觉差异。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45997432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档