在 PHP 中根据产品和买家国家/地区计算收入

Posted

技术标签:

【中文标题】在 PHP 中根据产品和买家国家/地区计算收入【英文标题】:Calculate the revenue based on product and buyer country in PHP 【发布时间】:2014-03-15 15:58:15 【问题描述】:

我有一份 php 课的家庭作业,老师让我根据零售商销售的产品和买家所在的国家/地区计算零售商的收入。以下是产品和国家,我们称它们为Tier:

ProductTier = Apple, Orange, Banana, Watermelon, Grape, Pear

CountryTier:
    CountryTier1 = US, CA
    CountryTier2 = FR, UK
    CountryTier3 = JP, SG

RevenueTier:
    RevenueTier1 = 2, 4 ,6, 8, 10, 12
    RevenueTier2 = 1, 3, 5, 7, 9, 11
    RevenueTier3 = 1, 1, 1, 1, 1, 1

有了这张表,我要做的就是找到买家所在的国家/地区,检查他们购买的商品并为零售商打印收入。我写了一个小函数来检查买方国家,然后返回他们的 CountryTier,但我不知道下一步该做什么。假设有一个来自英国的买家,他们购买了 Orange,因此零售商将获得 3 美元的收入,你有什么建议让我用更少的代码来做这个练习。

ps:如果有不清楚的地方请纠正/问我。

【问题讨论】:

我有一个建议:不要把你的作业放在这里,希望别人帮你做。 我建议使用 SQL 来计算收入,PHP 是将此报告发布为 html 文档的好方法。我认为您不需要任何课程来进行报告。 Star Schema 是该问题的典型解决方案en.wikipedia.org/wiki/Star_schema Wikipedia 中的这篇文章也使用了非常相似的示例。 对不起@Tularis,我不是要求别人做我的作业,我只是需要一个关于最好方法的建议。 我能想到的最好方法是将国家/地区放在一个关联数组中,例如$countries["COUNTRY_NAME"] = TEIR,然后您可以将国家/地区代码传入,并获得层级。从那里你可以有你的产品数组,返回索引并在收入表上使用它。与@Tularis 所说的一致(我同意)这是解决问题的基本方法,兄弟,您需要做的就是重新排列数据以适合您想要做的事情。 【参考方案1】:

将您的收入存储为:

$revenue = array();
$revenue[1] =  array(2, 4 ,6, 8, 10, 12);
$revenue[2] =  array(1, 3, 5, 7, 9, 11);
$revenue[3] =  array(1, 1, 1, 1, 1, 1);

将 ProductTiers 存储为

$productTiers = array('Apple', 'Orange', 'Banana', 'Watermelon', 'Grape', 'Pear');

现在使用获取 ProductTier 的密钥

$key = array_search($fruitName, $productTiers);

现在你可以使用

$revenue[$countryTier][$key];

【讨论】:

以上是关于在 PHP 中根据产品和买家国家/地区计算收入的主要内容,如果未能解决你的问题,请参考以下文章

基尼系数

WooCommerce Paypal - 不允许基于 PayPal 帐单地址的付款(国家/地区限制)

Go 语言:我那么值钱,我骄傲了吗?

是否可以根据国家/地区提供多个 APK 支持?

SQL 按最初购买的产品列出其他购买的产品并计算买家

使用子查询和分组依据每天计算每个国家/地区的 DAU 平均值