在php中根据订单日期和卖家id打印结果

在php中根据订单日期和卖家id打印结果,php,mysql,Php,Mysql,我有这样的PHP数组 Array ( [0] => stdClass Object ( [order_on] => 2021-05-25 19:29:35 [item_name] => One [seller_id] => 8 ) [1] => stdClass Object ( [order_on] =

我有这样的PHP数组

 Array
(
    [0] => stdClass Object
        (
            [order_on] => 2021-05-25 19:29:35
            [item_name] => One
            [seller_id] => 8
        )

    [1] => stdClass Object
        (
            [order_on] => 2021-05-25 19:29:35
            [item_name] => Two
            [seller_id] => 8
        )

    [2] => stdClass Object
        (
            [order_on] => 2021-05-24 20:29:35
            [item_name] => Five
            [seller_id] => 8
        )

    [3] => stdClass Object
        (
            [order_on] => 2021-05-25 19:29:35
            [item_name] => Three
            [seller_id] => 12
        )

    [4] => stdClass Object
        (
            [order_on] => 2021-05-25 19:29:35
            [item_name] => Four
            [seller_id] => 12
        )

    [5] => stdClass Object
        (
            [order_on] => 2021-05-24 20:29:35
            [item_name] => Six
            [seller_id] => 12
        )

)
 
当我运行fooreach循环时,如下所示:

foreach($array as $result){
echo $result = $result->seller;
echo '<br>';
echo $result = $result->item_name;
echo '<br>';
echo $result = $result->order_on;
echo '<br>';
}
但是我想要这样的结果

案例一:如果卖方id相同,且订单也相同,则结果将为

seller 8 
one 
Two 
2021-05-25

seller 12 
Three 
Four 
2021-05-25
如果卖方id和订单号不同,结果将是:

卖方8 五 2021-05-24

卖方12 六 2021-05-24


如何解决这个问题?

数据似乎是按卖家和时间排序的,对吗?如果您可以依赖于此,那么解决方案相当简单-在循环时,检查date和seller是否与上一个循环相同。如果是,则只输出项目名称,如果不是,则为不同的日期和/或卖方启动一个全新的条目。是的,但我如何在上一个循环中检查它每次循环时,将卖方和时间存储在单独的变量中(这些变量在循环之外,以便在循环迭代之间保留)。然后在每个循环开始时,您可以将当前值与存储的值进行比较。在循环结束之前,将当前值分配给存储的变量,以便为下一次迭代做好准备。
seller 8 
one 
Two 
2021-05-25

seller 12 
Three 
Four 
2021-05-25