-1

如果我有一个返回一些值的 mysql 查询,这些值按“parent_id”分类,大约有 3-5 个值 pr“parent_id”。在我的 while 循环中,我只想回显每个“parent_id”中的第一个值。我该怎么做?

类似“如果这是该变量第一次具有此值,请执行此操作”

4

2 回答 2

1

您可以将值保存在数组中,并检查数组中是否有新值。

$SeenValues=array();

foreach($AllValues as $Value){ //Or some other loop
    if (!in_array($Value, $SeenValues)){
        //Do something

        //Add new value to array
        array_push($SeenValues, $Value);
    }
}
于 2012-04-11T19:18:23.430 回答
0

只需将条件添加到您的 while 循环中...

$old_id = '';
while($row = $db->fetch_object()){
    if($row->parent_id != $old_id){
        //new parent_id
        $old_id = $row->parent_id;
        //... do stuff ...
    }
}
于 2012-04-11T19:18:53.537 回答