店舗の売り上げを表示するアプリがあります。これは多次元配列であるため、ルート配列の各値は、関連する特定の日の、、、などを[sales]
含む[cost]
配列です。[date]
OK、各ストアに2つのアレイがあります。1つは確認済みの番号用で、次は未確認の番号用です。未確認は確認後すぐにピックアップされるため、未確認の最初の日付は確認後1日となります。
OK、これまでのところすべて問題ありません。
しかし、すべての店舗の総売上高を表示するときは、すべての検証済みの数値とすべての未検証の数値を組み合わせて合計を取得する必要があります。ここに注意が必要な部分があります。検証済みのアレイは、検証済みの最下位のストアの日付までのみ実行する必要があり、残りはすべて未検証にする必要があります。例:特定の日付で、すべての店舗が番号を確認したが、その日付で1つが未確認の場合、その日付ですべての店舗を未確認にする必要があります。したがって、検証済みの合計と未検証の合計を作成する必要があるようです。各アレイをチェックし、それらがすべて検証済みかどうかを検証済みアレイに追加します。検証されていない場合は、未検証のアレイに追加します。
それ以来、私は状況を説明するために最善を尽くしています。私は機能しているアルゴリズムを持っていますが、それは非常に複雑なので、作業するたびに永遠にそれを研究する必要があり、よりエレガントな解決策があることを望んでいました。
ありがとう!!!
配列構造は次のようになります
$verified (
[0](sales => 355, cost=> 233, date=> 2008-03-01)
[0](sales => 235, cost=> 133, date=> 2008-03-02)
[0](sales => 435, cost=> 143, date=> 2008-03-02)
)
$unverified (
[0](sales => 232, cost=> 133, date=> 2008-03-03)
[0](sales => 335, cost=> 233, date=> 2008-03-04)
[0](sales => 535, cost=> 243, date=> 2008-03-05)
)
これはダミーデータですが、実際にはさらに多くのエントリがあります。各ストアにこれらの2つのアレイがあります。日付は両方のアレイに表示されません。日付は未確認または確認済みのみになります。
ただし、ストアごとにこれらの配列のセットがいくつかあり、それらを組み合わせる必要がある場合、異なるストアの未確認の番号は異なる日付で始まります。storeAは15日まで、storeBは7日まで検証できます。ですから、各店舗のすべてのものから$verified
新しいものを構築する必要があります。$unverified
しかし、検証されたものはさまざまな日付範囲にまたがっているため、単純にすべてを組み合わせることができません。したがって、すべての日付が検証された場合、それらは新しいマスターアレイで検証されたままになりますが、未検証の日付がある場合は、新しいマスターの未検証アレイに移動する必要があります。
申し訳ありませんが、これでうまくいかない場合。