0

我正在使用 NETTE,我从数据库中获取数据(对象)。例如:

array{ 
   [0]=> object{ ["CestyNazev"]=> "K00301" ["datum"]=> "2018-03-27"
   [1]=> object( ["CestyNazev"]=> "K00302" ["datum"]=> "2018-03-27"
   [2]=> object( ["CestyNazev"]=> "KLA101" ["datum"]=> "2018-03-26"
   [3]=> object( ["CestyNazev"]=> "KLA102" ["datum"]=> "2018-03-29"
}

我想按日期分组,所以结果应该是(数组):

**2018-03-27**
K00301
K00302

**2018-03-26**
KLA101

**2018-03-29**
KLA102

你能帮我吗?

4

1 回答 1

0

这是从选择创建多维数组的通用解决方案。为在模型或演示者中使用而编写。

$table = $database->table->select('datum, CestyNazev');

$result = [];

foreach ($table as $value) {
    if (array_key_exists($value->datum, $result)) {
        array_push($result[$value->datum], $value->CestyNazev);
    } else {
        $result[$value->datum] = [$value->CestyNazev];
    }
}

结果

array (3)
    2018-03-27 => array (2)
        0 => K00301
        1 => K00302
    2018-03-26 => array (1)
        0 => KLA101
    2018-03-29 => array (1)
        0 => KLA102
于 2018-07-09T10:54:51.513 回答