【发布时间】:2010-10-11 09:19:20
【问题描述】:
我有一个显示商店销售的应用。它是一个多维数组,因此根数组中的每个值都是一个包含[sales]、[cost]、[date] 等的数组。好的,每个商店都有 2 个数组。一个用于已验证的号码,下一个用于未验证的号码。未验证在已验证后立即领取,因此未验证的第一个日期将在已验证后的一天。
好的,到目前为止一切都很好。
但是当我显示所有商店的总销售额时,我需要将所有已验证和所有未验证的数字结合起来才能得出总数。这是棘手的部分。经过验证的数组应该只到最低验证商店的日期,其余的都应该是未经验证的。例如:在给定日期,如果所有商店都有已验证的号码,但其中一个在该日期未验证,则它们都需要在该日期未验证。所以这就像它需要创建一个已验证的总数和一个未验证的总数,检查每个数组,如果它们都已验证,则添加到已验证的数组,否则如果有未验证的则添加到未验证的数组。
我希望这是因为,我正在尽力解释这种情况。我确实有一个有效的算法,但它太复杂了,我每次研究它都必须永远研究它,我希望有一个更优雅的解决方案。
谢谢!!!
这是数组结构的样子
$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 中构建一个新的$unverified。但我不能简单地结合所有验证,因为它们跨越不同的日期范围。因此,如果所有日期都已验证,则它们会在新的主数组中保持验证状态,但如果有任何日期未验证,则需要转到新的未验证主数组。
如果这不成功,我很抱歉。
【问题讨论】:
-
发布一些示例或伪代码,让您的问题更清晰 - 这样更容易可视化。
-
同意...也许是数组结构的 print_r()?
-
结果是什么:所有商店的总销售额或组合(考虑日期)$verified 和 $unverified 数组?
标签: php arrays multidimensional-array