0

データベースからのデータの配列があります。次のようになります

[0] => Array
    (
        [id] => 40
        [market] => EUR/USD
        [date] => 2012-02-29 12:20:34
        [points] => 42
    )

[1] => Array
    (
        [id] => 41
        [market] => EUR/USD
        [date] => 2012-02-29 13:23:03
        [points] => 11
    )

これは、200 レコード程度のデータベース クエリが終了するまで続きます。データベースには、同じ日の複数のレコードを含む 1 か月分の情報があります。

とにかく、配列を調べて、1日のすべての情報を取り出したいと思っています(データベースからの情報がすでにDESCでソートされている理由による)。

どうすればいいですか?「array_splice」と「array_file」を見てきましたが、それらをこの問題に入れるのに苦労しています。

ありがとう。

4

2 に答える 2

2

次のようなことができます

$output = array();
foreach ($input as $row) {
    $date = substr($row['date'], 0, 10);
    if(!isset($output[$date])) {
        $output[$date] = array();
    }
    $output[$date][] = $row;
}
print_r($output);
于 2012-07-24T13:46:00.433 に答える
1

このようなもの?

$by_day = array();

foreach ($rows as $row) {
    $by_day[date('Y-m-d', strtotime($row['date']))][] = $row;
}
于 2012-07-24T13:47:16.093 に答える