php,为什么我从 foreach 循环中得到重复的内容?
我有一个查询,我尝试获得如下结果:
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"
我正在使用 str_replace
使其看起来像这样:
test
test1
发生的情况是我回来了:
test
test
test1
test1
是因为我使用了 while
和 foreach
吗?,但是如果我取出一个,我不会得到任何结果
任何想法?
谢谢
i've got a query and i try to get some results like this:
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>';
}
}
}
the raw result from the while
loop will be :
"test"
"test1"
i am using str_replace
to make it look like this:
test
test1
what happens is that i get back:
test
test
test1
test1
is that because i use a while
and a foreach
?, but if i take one out i don't get no results
any ideas?
thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
正如 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() 工作)。
As said in http://cn.php.net/manual/en/function.mysql-fetch-array.php
Returns an array of strings that corresponds to the fetched row, or FALSE if there are no more rows.
The type of returned array depends on how result_type is defined. By using MYSQL_BOTH (default), you'll get an array with both associative and number indices. Using MYSQL_ASSOC, you only get associative indices (as mysql_fetch_assoc() works), using MYSQL_NUM, you only get number indices (as mysql_fetch_row() works).