-1

いくつかの値を返すmysqlクエリがある場合、これらの値は「parent_id」によって分類されます。「parent_id」にはおよそ3〜5個の値があります。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 に答える