这令我很沮丧,因为我对PHP很陌生,并且我确信我缺少一些关于语言本质的基本知识。但为什么哦为什么这不起作用?
$tag = $_GET['id'];
$openfile = fopen($files[$i], "r");
$tagsraw = fgets($openfile);
$tag_array = explode(",",$tagsraw);
foreach ($tag_array as $a) {
if ($a == $tag) {
echo $a." matches ".$tag;
}
}
编辑:顺便说一句,文件打开工作正常; print_r()
表明$tag_array
填充了它的含义。
编辑:以下是print_r()
的打印输出。有五个文件,每个文件的第一行都有标签。
Array
(
[0] => webdesign
)
Array
(
[0] => personal
)
Array
(
[0] => recipes
[1] => vegan
)
Array
(
[0] => personal
)
Array
(
[0] => personal
)
答案 0 :(得分:4)
我的魔法水晶球告诉我“不起作用”意味着
if ($a == $tag) {
永远不是真的吗?
你可能在其中一个周围有空白字符。使用var_dump()来检查变量的值。请注意,var_dump告诉您数据类型,对于字符串,字符串长度以字节为单位。
如果有空格,可以使用PHP的trim
函数删除它:
if (trim($a) == trim($tag)) {