-1

私は 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;
    }
}

EDIT:ちなみに、ファイルを開くことはうまくいきます。それがどのように意図されているかprint_r()を示しています。$tag_array

編集:からの印刷物は次のとおりprint_r()です。5 つのファイルがあり、それぞれの最初の行にタグがあります。

Array
(
    [0] => webdesign

)
Array
(
    [0] => personal

)
Array
(
    [0] => recipes
    [1] => vegan

)
Array
(
    [0] => personal

)
Array
(
    [0] => personal

)
4

1 に答える 1

4

私の魔法の水晶玉は、「機能しない」という意味を教えてくれます

if ($a == $tag) {

決して真実ではありませんか?

おそらく、そのうちの1つの周りに空白文字があります。var_dump () を使用して、変数の値を調べます。var_dump はデータ型を示し、文字列の場合は文字列の長さ (バイト単位) を示していることに注意してください。

空白がある場合は、PHP のtrim関数を使用して削除できます。

if (trim($a) == trim($tag)) {
于 2012-05-21T14:42:15.150 に答える