php, почему я получаю дублированный контент из цикла foreach? - PullRequest
0 голосов
/ 19 августа 2011

У меня есть запрос, и я пытаюсь получить некоторые результаты, подобные этому:

    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>';
            } 
    }
}

необработанный результат из цикла while будет:

"test"
"test1"

iЯ использую str_replace, чтобы это выглядело так:

test
test1

, что происходит, когда я возвращаюсь:

test
test
test1
test1

это потому, что я использую while и a foreach ?, но если я достану один, у меня ничего не получится

есть идеи?

спасибо

1 Ответ

0 голосов
/ 19 августа 2011

Как сказано в http://cn.php.net/manual/en/function.mysql-fetch-array.php

Возвращает массив строк, который соответствует выбранной строке, или FALSE, если строк больше нет. Тип возвращаемого массива зависит от того, как определен result_type. Используя MYSQL_BOTH (по умолчанию), вы получите массив с ассоциативными и числовыми индексами. Используя MYSQL_ASSOC, вы получаете только ассоциативные индексы (как работает mysql_fetch_assoc ()), используя MYSQL_NUM вы получаете только числовые индексы (как mysql_fetch_row () работает).

...