如果我有一个返回一些值的 mysql 查询,这些值按“parent_id”分类,大约有 3-5 个值 pr“parent_id”。在我的 while 循环中,我只想回显每个“parent_id”中的第一个值。我该怎么做?
类似“如果这是该变量第一次具有此值,请执行此操作”
如果我有一个返回一些值的 mysql 查询,这些值按“parent_id”分类,大约有 3-5 个值 pr“parent_id”。在我的 while 循环中,我只想回显每个“parent_id”中的第一个值。我该怎么做?
类似“如果这是该变量第一次具有此值,请执行此操作”
您可以将值保存在数组中,并检查数组中是否有新值。
$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);
}
}
只需将条件添加到您的 while 循环中...
$old_id = '';
while($row = $db->fetch_object()){
if($row->parent_id != $old_id){
//new parent_id
$old_id = $row->parent_id;
//... do stuff ...
}
}