php,为什么我从foreach循环中获取重复内容?

php,为什么我从foreach循环中获取重复内容?,php,str-replace,Php,Str Replace,我有一个查询,我试图得到如下结果: while ($keywords = mysql_fetch_array($keys1)){ foreach ($keywords as $key) { $pos2 = strripos($key, $dquote); if ($pos2 === false) { } else { $clean_dquote = str_replace('"', "", $key);

我有一个查询,我试图得到如下结果:

    while ($keywords = mysql_fetch_array($keys1)){
    foreach ($keywords as $key) {
        $pos2 = strripos($key, $dquote);
            if ($pos2 === false) { } else { 
                $clean_dquote = str_replace('"', "", $key);
                print_r($clean_dquote);
                echo '<br>';
            } 
    }
}
test
test1
我正在使用
str\u replace
使其看起来像这样:

    while ($keywords = mysql_fetch_array($keys1)){
    foreach ($keywords as $key) {
        $pos2 = strripos($key, $dquote);
            if ($pos2 === false) { } else { 
                $clean_dquote = str_replace('"', "", $key);
                print_r($clean_dquote);
                echo '<br>';
            } 
    }
}
test
test1
结果是我回来了:

test
test
test1
test1
这是因为我使用了
while
foreach

有什么想法吗

谢谢

如中所述

返回与获取的行相对应的字符串数组,如果没有更多行,则返回FALSE。
返回数组的类型取决于结果类型的定义方式。通过使用MYSQL_BOTH(默认),您将获得一个包含关联索引和数字索引的数组。使用MYSQL\u ASSOC,您只能获得关联索引(正如MYSQL\u fetch\u ASSOC()所起的作用),使用MYSQL\u NUM,您只能获得数字索引(正如MYSQL\u fetch\u row()所起的作用)

if($pos2==false){}else{
→ <代码>如果($pos2!==false){尝试将while($keywords=mysql\u fetch\u array($keys1))替换为while($keywords=mysql\u fetch\u array($keys1,mysql\u ASSOC))@MichaelBai:Sharp!我想我们这里有赢家了+1@MichaelBai谢谢,它在工作