strpos() stripos() 问题 php
strpos() stripos() problems php
我知道这是一个常规问题,我不想加入那些不知道 strpos() returns 字符串位置的人,如果你想比较无论是否找到,您都必须使用 === 或 ==!比较.
我的问题是,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"
当我回显所有值时,似乎有一个匹配项,但它没有被添加到数组中。
打印出来:Microplate leolvasók.jpg => Microplate leolvasók
除了 .jpg 结尾之外,我似乎没有发现这两个字符串之间的区别,但由于 strpos() 的功能,它不应该算在内。对于 $subCats 数组,我的字符串是 utf8,对于 $tmp 数组,这是 scandir 给你的。目录没有保护,它,和文件可以读写。
知道为什么不匹配吗?
提前致谢!
leolvasók != leolvasók 中 'o' 的重音。基本上 ó
和 ó
是不同的。
使用您使用的字体,它们看起来可能是一样的。对我来说,在 Firefox 上,在 Linux 下有轻微的视觉差异。
我知道这是一个常规问题,我不想加入那些不知道 strpos() returns 字符串位置的人,如果你想比较无论是否找到,您都必须使用 === 或 ==!比较.
我的问题是,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"
当我回显所有值时,似乎有一个匹配项,但它没有被添加到数组中。
打印出来:Microplate leolvasók.jpg => Microplate leolvasók
除了 .jpg 结尾之外,我似乎没有发现这两个字符串之间的区别,但由于 strpos() 的功能,它不应该算在内。对于 $subCats 数组,我的字符串是 utf8,对于 $tmp 数组,这是 scandir 给你的。目录没有保护,它,和文件可以读写。
知道为什么不匹配吗?
提前致谢!
leolvasók != leolvasók 中 'o' 的重音。基本上 ó
和 ó
是不同的。
使用您使用的字体,它们看起来可能是一样的。对我来说,在 Firefox 上,在 Linux 下有轻微的视觉差异。