按值分组数组 php

Group array by value php

从 table 中选择所有值到结果数组后

 $result = $stmt->fetchAll(PDO::FETCH_OBJ);

我想创建一个数组,其中包含相同会话日期的组

mysql table

然后将其作为 JSON.

传递

我们如何按会话日期对结果进行分组?

类似这样,但不是日期“2018-04-01:”,如果可以用 0 和 1,2 代替... 结果是这样的

您可以更改 sql 查询并使用 GROUP BY 子句

或者可能 php array_values

<?php
    print_r(array_values($result));
?>

你问的问题更多的是关于请求而不是结果数组。 您可以编辑 post 以指定您的请求吗?

在SQL中,有一个"GROUP BY"参数可以用来做组。

Select * From Table GROUP BY `sessions_title`

以下代码帮助我对数组进行了分组

if($objects)
        {
            $grouped = array();
            foreach($objects as $object) {
                if(!array_key_exists($object->id, $grouped)) {
                    $newObject = new stdClass();
                    $newObject->id = $object->id;
                    $newObject->title = $object->title;
                    $newObject->contents = $object->contents;
                    $newObject->follow_up_link = $object->follow_up_link;
                    $newObject->created_at = $object->created_at;
                    $newObject->ITEMS = array();
                    $grouped[$object->id] = $newObject;
                }
                $taskObject = new stdClass();
                $taskObject->news_id = $object->news_id;
                $taskObject->extension = $object->extension;
                $taskObject->resource_link = $object->resource_link ;
                $grouped[$object->id]->ITEMS[] = $taskObject;
            }

    $grouped = array_values($grouped);