私は店舗の売り上げを表示するアプリを持っています。これは多次元配列なので、ルート配列内の各値は、それに関係する与えられた日の[sales]
,[cost]
、[date]
などを含む配列です。 OK、各店舗には2つの配列があります。 1つは検証済み番号用で、次は未検証番号用です。未確認のユーザーは、確認後すぐに取得されます。したがって、確認されていない最初の日付は確認されてから1日後になります。PHPで多次元配列を処理するにはどうすればよいですか?
OK、これまでのところすべて問題ありません。
しかし、私はすべての店舗の合計売上高を表示するには、合計を得るためにすべての検証済み番号と未確認番号を結合する必要があります。ここには難しい部分があります。検証された配列は、最も低い検証済みのストアの日付までしか上がらず、残りのすべては未検証でなければなりません。例:指定された日付で、すべての店舗で番号が確認されていても、その日付で未確認の店舗がある場合、その日付のすべての店舗は未確認である必要があります。したがって、検証された合計と未確認の合計を作成する必要があるように、各配列をチェックし、すべてが検証されている場合は検証された配列に追加し、そうでない場合は検証されていない配列を未検証の配列に追加します。
これは私が状況を説明するために最善を尽くしているからです。私は働いているアルゴリズムを持っていますが、それは非常に複雑なので、私はそれを研究するたびに勉強しなければなりません。もっと洗練されたソリューションがあることを期待していました。
ありがとうございました!ここで
は、配列構造は、これがダミーデータであるが、実際にはより多くのエントリが存在します
$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
を構築する必要があります。しかし、異なる日付範囲にまたがっているため、すべての検証結果を単純に組み合わせることはできません。したがって、すべての日付が検証された場合、新しいマスター配列で検証されたままになりますが、検証されていないものがあれば、新しいマスター未検証配列に移動する必要があります。
これは私が申し訳ありませんので、しない場合。
あなたの質問をより明確にするサンプルまたは疑似コードを投稿すると、視覚化が容易になります。 – jonstjohn
合意しました...多分配列構造のprint_r()ですか? –
結果はどうなりますか?全店舗の合計売上高または合計(日付を考慮して)$ verifiedおよび$ unverified array? – jfs