Ben mağaza satışlarını gösteren bir uygulama var. Bu çok boyutlu bir dizidir, bu nedenle kök dizideki her değeri bir gün için [sales]
, [cost]
, [date]
, vb içeren bir dizidir o ile ilgilidir. Tamam, her bir mağaza için 2 diziler vardır. Doğrulanmış bir sayı için olan ve bir sonraki onaylanmamış numaraları içindir. Hemen sonra onaylanmamış alır kadar doğrulanmadı, yani onaylanmamış ilk tarih doğrulandıktan sonra bir gün olacak.
Tamam, bütün bu şimdiye kadar gayet iyi.
Ben tüm mağazalar için toplam satışları göstermek Ama, ben birleştirmek için gereken tüm doğrulanmış ve toplam almak için tüm onaylanmamış sayılar. Burada zor kısmı. Doğrulanmış dizisi yalnızca en düşük doğrulanmış mağazanın güncel gitmeli ve geri kalan her doğrulanmamış edilmelidir. Örneğin: tüm mağazalar numaraları doğruladıktan ama bir o tarih için doğrulanmamış ise, belirli bir tarihte, sonra hepsi o tarih için doğrulanmamış gerekir. Yani bir doğrulanmış toplam oluşturmak gerekiyor gibi, ve doğrulanmamış bir toplam, her bir dizi kontrol ve hepsi doğrulanmış eğer varsa onaylanmamış onaylanmamış diziye eklemek vardır başka, doğrulanmış diziye ekleyin.
Ben durumu açıklamak için elimden geleni yapıyorum, çünkü bu yapar umuyoruz. Ben çalışan bir algoritma var ama ben sonsuza dek Ben bunun üzerinde çalışmak her zaman onu incelemek zorunda ve ben bir daha zarif bir çözüm olduğunu umuyordum kadar karmaşık.
Teşekkürler!
İşte dizi yapısı gibi görünüyor ne
$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)
)
Bu kukla veri, ancak gerçekte daha girdi olacaktır. Her mağaza için bu 2 dizi vardır. Tarihi hem diziler için görünmeyecektir; Bir tarih sadece onaylanmamış veya doğrulanmış olacaktır.
Her mağaza için bu diziler birkaç takım var ve bunları birleştirmek gerekiyor ama ne zaman, farklı mağazanın onaylanmamış numaralar farklı tarihlerde başlayacak. storeA 15 kadar doğrulanmış olabilir ve storeB 7 kadar doğrulanabilir. Yani yeni bir $verified
kurmak gerekir ve yeni bir $unverified
her bir mağaza için tüm olanlardan. Farklı tarih aralıkları katedecek çünkü Ama ben sadece, tüm Verifieds birleştirebilirsiniz olamaz. Yani bütün tarihleri daha sonra doğrulanmış eğer yeni ana dizideki Doğrulanmış kalmak, ancak herhangi bir onaylanmamış varsa onlar yeni ana doğrulanmamış diziye gitmek gerekir.
Üzgünüm beri bu yapmaz.