首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP:如何从数据库处理这些数据

PHP:如何从数据库处理这些数据
EN

Stack Overflow用户
提问于 2016-02-05 07:34:58
回答 3查看 66关注 0票数 0

我对编程非常陌生,所以很抱歉,如果这是非常nooby的话。

在一个虚拟数据库中,我有一个名为“货币”的列。该列具有以下数据:

代码语言:javascript
运行
复制
36:USD,74:GBP,68:USD,119:USD,114:BGN,15:USD,32:GBP,1:BGN

以上数据是用户支付的金额及其各自的货币。

我想要做的是显示一张表格,上面有每个国家的货币和总销售额,并以表格的形式显示出来。

因此,对于上面的数据,我希望输出如下:

代码语言:javascript
运行
复制
Currency  |  # Sales
____________________

USD         4
GPB         2
BGN         2 
____________________

     Total: 8
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-02-05 07:49:53

尝尝这个

代码语言:javascript
运行
复制
$data = "36:USD,74:GBP,68:USD,119:USD,114:BGN,15:USD,32:GBP,1:BGN";
$data = explode(",", $data);

$result = array();
foreach ($data as $value) {
    $d_array = explode(":", $value);
    if(isset($result[$d_array[1]]))
        $result[$d_array[1]] +=1;
    else
        $result[$d_array[1]] = 1;
}
$total = count($data);

var_dump($result);
var_dump($total);

和结果

代码语言:javascript
运行
复制
array (size=3)
'USD' => int 4
'GBP' => int 2
'BGN' => int 2

int 8
票数 1
EN

Stack Overflow用户

发布于 2016-02-05 10:05:56

代码语言:javascript
运行
复制
$data = "36:USD,74:GBP,68:USD,119:USD,114:BGN,15:USD,32:GBP,1:BGN";
$data = explode(",", $data);
$final_array = array();
foreach ($data as $value) 
{
   $new_array = explode(":", $value);
   array_push($final_array, $new_array[1]);
}
$final_array = array_count_values($final_array);
print_r($final_array);

结果

数组(美元=> 4 GBP => 2 BGN => 2)

票数 1
EN

Stack Overflow用户

发布于 2016-02-05 07:46:36

看看我的例子。我希望你没事。

代码语言:javascript
运行
复制
$orders = array("36:USD","74:GBP","68:USD","119:USD","114:BGN","15:USD","32:GBP","1:BGN");

$totalData = array();
foreach($orders as $singleOrder) {
    $explodedData = explode(':',$singleOrder);

    if(!isset($totalData[$explodedData[1]])) {
        $totalData[$explodedData[1]] = $explodedData[0]; 
    } else {
        $totalData[$explodedData[1]] += $explodedData[0]; 
    }
}

var_dump($totalData);

结果

代码语言:javascript
运行
复制
array (size=3)
  'USD' => int 238
  'GBP' => int 106
  'BGN' => int 115
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35218618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档