数组处理有关问题,求优化

php中文网
发布: 2016-06-13 12:12:38
原创
866人浏览过

数组处理问题,求优化

本帖最后由 mafeifan 于 2014-12-26 11:36:04 编辑 有一个这样查询出来的数组。
<br />$result = [<br />	['month'=>08,'price'=>218],<br />	['month'=>12,'price'=>140],<br />];<br />
登录后复制


最终需要转换成一个字符串,用于前台js
格式类似:[49.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, null, null]
显示的是每月的销售情况,没有值就为null
比如一月份的price为49.9 

我的做法:
感觉有点麻烦,求优化

<br />        //先构造类似  ['01'=>0,'02'=>0 .... '12'=>0]  这种格式的数组<br />        $fullMonth = [];<br />        for($i=1;$i<=12;$i++){<br />            $fullMonth[str_pad($i,2,'0',STR_PAD_LEFT)] = 0;<br />        }<br />        //  遍历数组  对应月份有值就放到新建的数组里<br />        $i = 0;<br />        foreach($fullMonth as $month=>$value){<br />            foreach($result as $record){<br />                if($month == $record['month']){<br />                    $fullMonth[$month] = $record['price'];<br />                }<br />            }<br />            $i++;<br />        }<br />        return '[' . implode(',',$fullMonth) . ']';<br />
登录后复制

------解决思路----------------------
$r = array_fill(0, 12, null);<br />$result = [<br />    ['month'=> '08', 'price'=> 218],<br />    ['month'=> '12', 'price'=> 140],<br />];<br />foreach($result as $v) {<br />  $r[$v['month'] - 1] = $v['price'];<br />}<br />echo json_encode($r);
登录后复制
[null,null,null,null,null,null,null,218,null,null,null,140]
登录后复制

------解决思路----------------------
y加上引號,這樣才不會有notice
<br /><?php<br />$res = [['y'=>'2014-12-03','item'=>263],['y'=>'2014-12-04','item'=>168]];<br />echo json_encode($res, JSON_PRETTY_PRINT);<br />?><br />
登录后复制


<br /><br />[<br />    {<br />        "y": "2014-12-03",<br />        "item": 263<br />    },<br />    {<br />        "y": "2014-12-04",<br />        "item": 168<br />    }<br />]<br />
登录后复制
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号