按ID对数组进行分组并检查

时间:2019-01-15 14:14:56

标签: php arrays

设法改善代码,现在我得到了预期的结果,但是我还有另一个问题。我需要查找#id数组中是否为service_id'833'。

foreach ($r as $dump_r => $r_rows)
{
    echo $dump_r;
    foreach ($r_rows as $row)
    {
        echo $row['service_id'];
    }   
}

我的结果如下:

#113540
833
6295

2 个答案:

答案 0 :(得分:0)

如果希望将结果分组,则应调查SQL中的GROUP BY选项。

您的问题也非常不清楚,“检查在哪里对我来说毫无意义。”

foreach真的很简单,使用您的示例,您可以:

foreach( $result as $row){
  $r[] = ['id'=>$row['id'],'service_id'=>$row['service_id']];
}

答案 1 :(得分:0)

如果要对来自SQL语句的初始$ result进行分组,则应在$ sql语句中使用Group By。

如果要在选择数据后对其进行分组,则必须遍历数据中的foreach。

或者简单的sort()函数可以帮助您。

例如,您可以使用

$service_ids = array(69, 10, 85); // here you have to input your ids you want to sort/order
sort($service_ids );

$clength = count($service_ids );
for($x = 0; $x < $clength; $x++) {
    echo $service_ids [$x];
    echo "<br>";
}

这给你输出

  • 10
  • 69
  • 85