php 用双重循环出现重复值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 用双重循环出现重复值相关的知识,希望对你有一定的参考价值。

Index.php页面代码
<?php
require_once 'db_conn/mysql.php';
$db_mysql=new dbclass();
$sqlstr="select * from student";
$rs=$db_mysql->exeselect($sqlstr);

//显示数据
echo "<table width='980px'>";
while ($row=$rs->fetch())

echo "<tr>";
foreach ($row as $value)

echo "<td>$value</td>";

echo "</tr>";

echo "</table>";
?>
mysql.php 类文件
<?php
@define('db_host', 'localhost');
@define('db_username', 'root');
@define('db_password', '');
@define('db_name','student');
class dbclass

var $dsn;
function dbclass()

$this->dsn="mysql:host=".db_host.";dbname=".db_name;

//查
function exeselect($sql)

$p=new PDO($this->dsn, db_username, db_password);
$p->query('set names gb2312');
$result=$p->query($sql);
return $result;

//增、删、改
function excsql($sql)

$p=new PDO($this->dsn, db_username, db_password);
$p->query("set names gb2312");
$result=$p->exec($sql);
return $result;


怎么不让它出现一条记录的每个字段重复输出一次!

$rows=array();
while ($row=$rs->fetch())

$rows[]=$row;

//////下面再对$rows进行双重循环吧.......
foreach($rows as $key=>$value)

foreach($rows as $key=>$value)

echo $value;



你一开始的row并不是你要的数组.只是数据库里面的一条数据 .....
参考技术A while ($row=$rs->fetch())

echo "<tr>";
echo "<td>$row['字段名']</td>";
echo "</tr>";

echo "</table>";追问

感谢您,可我的是外部while循环,内部forecho循环。双重循环,内部循环出来的值,重复了一次!

追答

while就行了,你再foreach一次就多余了吧,我没见过有这样写的

参考技术B 学习 参考技术C 不对吧,你这个while ($row=$rs->fetch())
获得的$row 是个数组?你最好检查一个下这个数组,看看这个数组是不是正确获得了
参考技术D 学习

java怎么判断数组中有重复的元素

1、写两个for循环,外层for循环每取出一个值,都和内层for循环的值做比较,出现两次及以上相同的情况,即有重复元素。当然这种效率比较低。
2、写两个for循环,外层for循环取第一个值的时候,和内层循环的第二个值及之后的值比较;外层for循环取第二个值的时候,和内层循环的第三个值及之后的值比较……
以此类推,出现一次及以上相同的情况,即有重复元素。
过程就是如此,代码自己实现吧!
参考技术A //用于存放数组中出现相同的元素
Set<String> set= new HashSet<String>();
//写一个方法把数组和set作为参数传过去
public boolean compare(String[] strs,Set set)
boolean result = false;
//从第一个元素开始比较元素是不是有相同的出现
for(int i=0;i<strs.length;i++)
for(int j=i+1;j<strs.length;j++)
//如果元素相同,保存到set中
if(strs[i].equals(strs[j]))
set.add(strs[i]);
result = true;



return result;

set中保存的就是出现相同的元素本回答被提问者采纳

以上是关于php 用双重循环出现重复值的主要内容,如果未能解决你的问题,请参考以下文章

Javascript从“繁”到“简”进行数组去重

for循环循环取值的时候,当出现了与以前循环出的值有重复的值时就只取出重复之前的值, 比如整个循环

如何使用ajax将从jquery for循环创建的输入值发送到php [重复]

逆战班 js双重循环嵌套原理

为啥PHP的while循环是重复出现同一个数据呢?

ThinkPHP模板里怎么使用 for循环