我有一個顯示商店銷售的應用程序。它是一個多維數組,因此根數組中的每個值都是一個包含[sales]
,[cost]
,[date]
等的數組,在它所屬的給定日期內。好的,每個商店有兩個數組。一個用於驗證號碼,另一個用於未經驗證的號碼。未經覈實的未經覈實的核對,所以未覈實的第一個日期將在覈實後的一天。 OK,這一切都很好。如何在PHP中最好地處理我的多維數組?
但是,當我顯示所有商店的總銷售額時,我需要合併所有經過驗證的數據和所有未經驗證的數字以獲得總數。這是棘手的部分。經過驗證的陣列只能上到最低驗證商店的日期,其餘所有應該未驗證。例如:在給定的日期,如果所有商店都有驗證號碼,但有一個未經驗證,那麼它們都需要在該日期未經驗證。因此,它需要創建一個已驗證的總數和一個未驗證的總數,檢查每個數組,如果它們全部驗證添加到已驗證的數組中,否則如果有未驗證的數組添加到未驗證的數組。
我希望這樣做以後,我正在盡力解釋這種情況。我確實有一種運算法則,但它非常複雜,我每次工作時都要永遠研究它,而且我希望有一個更優雅的解決方案。
謝謝!
這裏是陣列結構的樣子
$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)
)
這是虛擬數據,但在現實中會有更多的條目。每個商店都有這兩個數組。這個日期不會出現在兩個陣列上;日期只會未經驗證或驗證。
但是,當您爲每個商店有幾組這些陣列並需要將它們組合時,不同商店的未經驗證的數字將從不同的日期開始。 storeA可能會在15日前驗證,storeB可能會在7日前驗證。所以我需要爲每個商店建立一個新的$verified
和一個新的$unverified
。但我不能簡單地合併所有已驗證的內容,因爲它們跨越不同的日期範圍。所以如果所有日期都被驗證,那麼它們會在新的主數組中保持驗證狀態,但是如果有未驗證的日期,他們需要轉到新的未驗證主數組。
如果這樣做並不令我感到抱歉。
發佈一些樣例或僞代碼,可以讓您的問題更清晰 - 這樣可以更容易直觀化。 – jonstjohn 2009-03-04 21:54:57
同意......也許是一個print_r()的數組結構? – 2009-03-04 22:00:05