整体实现逻辑介绍

1.对查询数据做一个总体查询,需要根据查询自己主要业务逻辑数据.

2.对总体查询数据和时间和币种类型做三部分数据处理.

3.总体查询数据按照币种和日期组装二维数据对应得键值是价格.

4.对时间做个数据处理主要是基于时间字段做个二维数组数据处理.

5.对币种做个一维数组下标为数字,后期做数据处理需要使用for循环处理数据.

6.统计汇总总和需要 3方法和5方法处理数据,在做数据逻辑汇总运算.

7.统计每日不同币种需要 3方法和4方法处理数据,在做数据逻辑合并数组运算.

//30天收入走势图

public functionactionIncome()

{/*$l sql查询后数据结构(分组日期和币种)

array[0=>array[

'date' => '20180208',---日期

'fee' => '10.00', ---价格

'currency' => 'USD', ---币种类型

],1=>array[

'date' => '20180208',

'fee' => '20.00',

'currency' => 'TWD',

]];*/

$l = $this->incomeService->getDateIncomeList();/*$type sql查询后数据结构(distinct币种字段)

array[0=>array[

'currency' => 'USD',

],1=>array[

'currency' => 'TWD',

]];*/

$type = $this->incomeService->getCurrency();$number = count($type);/*$data_type 币种类型,数据处理过后结构

array[

0 => 'USD',

1 => 'TWD',

];*/

$data_type = array();foreach ($type as $key=>$value) {$data_type[$key] = $value['currency'];

}/*$data_total 统计每天不同币种价格,数据处理过后结构

array['USD'=>array[

'20180208' => '10.00',

'20180207' => '20.00',

],'TWD'=>array[

'20180208' => '10.00',

'20180207' => '20.00',,

]];*/

$data_total = array();foreach ($l as $key=>$value) {$data_total[$value['currency']][$value['date']] = $value['fee'];

}/*$total_sum 统计30天币种汇总,数据处理过后结构

array[

'USD' => '10.00',

'TWD' => '20.00',

];*/

$total_sum = array();for($i=0; $i

}/*$time 统计时间,数据处理过后结构

array['20180208'=>array[

'date' => '20180208',

],'20180207'=>array[

'date' => '20180207',

]];*/

$time = array();foreach ($l as $key=>$value) {$time[$value['date']]['date'] = $value['date'];

}/*$list 汇总合并每天不同币种,数据处理过后结构

array['20180208'=>array[

'date' => '20180208',

'USD' => '10.00',

'TWD' => '20.00',

],'20180207'=>array[

'date' => '20180207',

'USD' => '10.00',

'TWD' => '20.00',

]];*/

$list = array();foreach ($time as $key=>$value){$list[$key]['date'] = $key;for($i=0; $i

}

}//Highcharts数据图表插件数据处理 ---(可以用百度等插件)

$chartsData = $this->searchChartsDataFormat($list);$this->render('income', array('list' => $list,

'chartsData' => $chartsData,

'total_sum' => $total_sum,

'number' => $number,

'data_type' => $data_type,));

}/**

* [searchChartsData 数据图表使用]

* @param string $sql [description]

* @return [type] [array]*/

public function searchChartsDataFormat($data){if(!is_array($data))return array();$day=$total_CNY=$total_THB=$total_TWD=$total_USD=array();$result=array();foreach ($data as $k => $v) {$day[]='\''.$v['date'].'\'';$total_CNY[]= $v['CNY'];$total_THB[]= $v['THB'];$total_TWD[]= $v['TWD'];$total_USD[]= $v['USD'];

}$result['date']=implode(',', array_reverse($day) );$result['total_CNY']=implode(',', array_reverse($total_CNY) );$result['total_THB']=implode(',', array_reverse($total_THB) );$result['total_TWD']=implode(',', array_reverse($total_TWD) );$result['total_USD']=implode(',', array_reverse($total_USD) );return $result;

}

php 检查货币类型_php 统计每天价格,货币种类,汇总得算法和数据处理 (后端和前段实现自动统计价格和币种类型)...相关推荐

  1. php mysql 类型_php mysql bigint 类型

    在mysql里设置了字段类型是bigint的,20位 然后通过php读取数组出来,使用json_encode 在不同的环境下,有不同的表现 1.这个字段在json中是字符串类型的, 2.这个字段读取出 ...

  2. mysql弱类型_PHP弱类型及相关函数Bypass

    https://www.mi1k7ea.com/2019/06/21/PHP%E5%BC%B1%E7%B1%BB%E5%9E%8B%E5%B0%8F%E7%BB%93/ 弱类型以及==和=== 先看下 ...

  3. mysql的bigint类型_php mysql bigint 类型

    在mysql里设置了字段类型是bigint的,20位 然后通过php读取数组出来,使用json_encode 在不同的环境下,有不同的表现 1.这个字段在json中是字符串类型的, 2.这个字段读取出 ...

  4. 你知道吗?其实 Oracle 直方图自动统计算法存在这些缺陷!(附验证步骤)

    作者 | 吴海存 责编 | Carol 出品 | CSDN 云计算(ID:CSDNcloud) 封图| CSDN下载于视觉中国 在某些场景下,表中某一列的数据分布会比较崎岖,使得CBO(cost ba ...

  5. oracle 自动表分析,其实 Oracle 直方图自动统计算法存在这些缺陷!

    原标题:其实 Oracle 直方图自动统计算法存在这些缺陷! 科技细分领域TOP10影响力内容第一季度入选作品 来源 | CSDN 作者 | 吴海存 在某些场景下,表中某一列的数据分布会比较崎岖,使得 ...

  6. 根据时间戳生成编号_VLOOKUP函数制作产品报价单,能自动生成价格

    今天,教大家用Excel来制作一份报价单,通过输入产品编号,自动生成价格. 输入对应的产品编号,就能够自动生成价格和日期,录入数量后能生成金额. 准备工作 Sheet1中是报价单表格,大家可以根据自己 ...

  7. html自动生成价格,Excel技巧:用VLOOKUP函数制作产品报价单,自动生成价格!

    今天,教大家给大家分享一个用VLOOKUP函数制作产品报价单,自动生成价格的小技巧,输入对应的产品编号,就能够自动生成价格和日期,录入数量后能生成金额. 1.准备工作 Sheet1中是报价单表格,大家 ...

  8. 解读EOSIO RAM价格大幅波动背后的Bancor算法

    概要 EOSIO 的 RAM 从主网启动到现在, 经过了大幅的价格波动, 其背后的 Bancor 算法定价机制也引起了广泛关注.本文参考了 Bancor 白皮书,结合 EOSIO 的的代码, 分析了 ...

  9. 27、Power Query-日期与时间数据处理实例(图书室借书统计)

    本节要点:Power Query-日期与时间数据处理实例(图书室借书统计) 承接上一节的需求,我们引入切片器的功能,对图书室的借书以及归还情况进行查询和筛选,效果图如下: 对"借书状态&qu ...

  10. 体质测试数据统计软件,[体质测试数据excel自动统计表]体质测试数据Excel自动统计模板的研制...

    <[体质测试数据excel自动统计表]体质测试数据Excel自动统计模板的研制>由会员分享,可在线阅读,更多相关<[体质测试数据excel自动统计表]体质测试数据Excel自动统计模 ...

最新文章

  1. 洛谷 2953 [USACO09OPEN]牛的数字游戏Cow Digit Game
  2. 支持向量回归 svr
  3. 三星a7支持html吗,三星A7怎么样 三星A7特点介绍
  4. 前端学习(2305):react之脚手架基本创建
  5. java追加字符串到文件_java 将字符串追加到文件已有内容后面的操作
  6. 软件测试第4周小组作业:WordCount优化
  7. vs2010下载链接中国简体(中国含msdn)
  8. 多线程之任务: Task 基础, 多任务并行执行, 并行运算(Parallel)
  9. 人月神话贯彻执行_《人月神话》读后感与读书笔记
  10. xp系统能不能安装mysql_XP系统如何安装SQL2005?XP系统安装SQL2005图文教程
  11. 自己退出微信小程序开发者权限
  12. 水质环境监测系统解决方案
  13. 解密百度前端技术体系
  14. Win10正式版历代记
  15. 关于技术学习的一点思考
  16. js-xlsx vue导入excel在线预览
  17. java实现中国象棋1:界面的制作
  18. el-table表格无数据时,更改其自带的提示‘暂无数据’
  19. Fabric架构原理总结
  20. 然而马云并没有收购车投网

热门文章

  1. 64位锐捷多网卡、VMWareNat模式、ICS共享破解
  2. vbs代码未结束的字符串常量
  3. 系统集成项目管理工程师10大管理5个过程组47个过程域
  4. 李永乐老师讲博弈论:帝王为啥要杀掉有功之臣
  5. KMeans聚类分析实战——如何把城市划分成不同的种类
  6. Python课设:中国五大城市PM2.5数据分析
  7. 计算机毕业设计之会议预约系统设计与实现
  8. 免费智能AI文章生成器-只需要输入关键词自动生成文章的软件
  9. 纪录黑马程序员的真实生活
  10. 界面画好了如何开发软件_如何做儿童类APP?来看英语流利说的实战经验总结!...